“全新”编程语言 Julia开箱体验

本文共 1540字,阅读大约需要 5分钟,文末有计时器可自行对时

概 述

Julia 是一个 “全新”的高性能动态编程语言,前两天迎来了其 1.0 正式版的重大更新。Julia集 Python、C、R、Ruby 之所长,感觉就像一种脚本语言,并且对交互式使用有很好的支持。而且其天生的高性能、通用性与专业性使得其非常适用于科学数值计算、机器学习项目等前沿场景。我看完这个消息以后也迫不及待想尝试一下。

注:本文首发于 My 公众号CodeSheep,可长按扫描下面的小心心来订阅 ↓ ↓ ↓

本文内容脑图如下:

Julia的特性

高性能:Julia 通过 LLVM 为多个平台编译高效本地代码,性能很高

动态性:编程范式灵活,代码信噪比极高

通用性:易于表达OOP和函数式编程范式,并且其标准库提供异步I / O,进程控制,日志记录,概要分析,包管理器等。

专业性:擅长数值计算,支持许多数值数据类型,并且提供开箱即用的并行性。

可组合性:Julia 的包之间可以很好地协同工作。

正是由于这些特性,才使其应用场景宽泛,而且都是当下前沿热门应用场景:

编程环境支持

Julia通过提供了一系列插件支持,从而可以在大多数常见的编辑器中进行编程,具体包括

Atom

VS Code

Jupyter

Vim

Emacs

SublimeText

Julia安装和部署

Julia 提供了各种平台和环境的安装包,具体可以去其官网进行下载:

安装非常简单,像 Windows平台,基本上只需要点按下一步即可安装到位,而 MacOS平台使用 brew包管理器也仅需 一行命令 即可完成安装。

下面我以 Linux CentOS 7.4 平台为例,介绍一些其安装过程:

CentOS7 上 Julia 安装也无需复杂的过程,只需要下载对应的可执行版本,并置于系统的命令路径中即可愉快的使用:

此时执行命令即可启动 Julia控制台,顺便来向世界问一下好吧:

下面做一些上手实验,大致来感受一下该语言精炼、灵活的风格。即使不使用任何文字说明,也能很容易地理解各个命令的含义,这也说明该语言很好上手。

Julia上手体验

变量操作

类型转换和提升

函数

控制流

对象构造

外部构造方式:

内部构造方式:

迭代与索引

迭代操作:

索引操作:

基本的语言特性就体验到这,剩余的还有一些高级特性,包括:

模块

元编程

并行计算

网络和流

交互

......

不在此文一一赘述,详细了解就去参考官方文档吧。

后 记

由于能力有限,若有错误或者不当之处,还请大家批评指正,一起学习交流!

如果有兴趣,也可以抽时间看看作者关于容器化、微服务化方面的文章:

作者更多务实、能看懂、可复现的原创文章尽在公众号CodeSheep,欢迎订阅 ⬇️⬇️⬇️

你花了·来阅读

点个再走吧~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180814G17YRV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券