人生苦短,何必将就——转行Julia

累积开发者团队近十年的努力,Julia1.0版本于2018年8月8号正式发布,又一次引起业界轰动。不少人开玩笑说“刚转行Python,你又要我学Julia” 、“又想骗我学Julia”、“Python刚入门,你又想让我出门”……那么,Julia到底是何方神圣,我们往下看……

1、Julia是什么

Julia是什么,他能做什么,适合那些人学习?让我们来看看官方是怎么解释的。

“Julia 是一个新的高性能动态高级编程语言。语法和其他编程语言类似,易于其他语言用户学习。Julia 拥有丰富的函数库,提供了数字精度、精致的增幅器(sophisticatedamplifier)和分布式并行运行方式。核心函数库等大多数库是由 Julia 编写,但也用成熟的 C 和FORTRAN 库来处理线性代数、随机数产生和字符串处理等问题。”

“Julia 是个灵活的动态语言,适合科学和数值计算,性能可与传统静态类型语言媲美。”

“Julia主要适用于希望了解并深入的学习Julia语言用以编写高性能程序的国内读者”

看完上面的话,或许激不起你半点兴趣,还是不知道到底该不该选择学Julia。

下面我们再和我们身边最为熟悉的编程软件对比下。

2、Julia 、Python、R、和C

Julia开发团队的要求:“我们想要一种十分自由的开源语言,同时兼具 C 语言的速度和 Ruby 语言的灵活度。我们想要一种同像性语言,具有像 Lisp 一样真正的宏,也有像 Maltlab 一样浅显易懂的数学符号。它是像 Python 一样有用的通用编程语言,像 R 语言一样便于统计的语言,像 Perl 一样自然的字符串处理语言,像 Matlab 一样强大的线性代数语言,也是像 shell 一样的胶水语言。它简单易学,却能让严苛的黑客们为之倾心。我们希望它兼具交互性和可编译性。”

Julia团队一位创始人也表示:“如果你是数学家、科学家或者工程师,那么你过去选择一门编程语言会从它的速度角度进行考虑,例如C++或Java,亦或从语言的易学角度进行考虑,例如Matlab、R或者是Python。而我们创造了一种两者兼备的语言,即Julia。”

我们再看看官方给出的Julia与传统语言最大的区别:

•核心语言很小;标准库是用 Julia 本身写的,如整数运算在内的基础运算

•完善的类型,方便构造对象和做类型声明

•基于参数类型进行函数重载

•参数类型不同,自动生成高效、专用的代码

•高性能,接近静态编译语言,如 C 语言

相比于传统的编程语言,Julia显然很年轻,但是却成为业界的又一新星。八月,在TIOBE排行榜中,Java、C和C++三种老牌编程语言占据前三甲的位置, Julia排名位列50位。自2009年Julia被创建以来,不到十年时间,下载量突破200万次,可见Julia已经逐渐被广为接受,深受用户的喜爱。

下面引用一篇CSDN一段话

“最近, 在了解 Lua 的过程中, 竟然发现了一种专门为"并行"数值计算设计的语言,Julia在了解和试用之后, 发现这才是适合我的最好的语言.

① 可调用 C/Python 库, 聪明的做法, 可以更好的继承现有的成果

②类似 matlab 和 python 的语法, 更换语言的学习成本低, 而且实现起来天生就像python那样高效

③ 接近于 C++ 的性能, 在很多情况下已经足够了

④ 开源的做法, 使得语言具有强大的 Package后备力量, 在生态上已经初具规模

⑥ 天生的并发和分布式支持, 省很多事情了”

3、Julia的学习资源

Julia官网: https://julialang.org/

Julia 1.0 https://julialang.org/blog/2018/08/one-point-zero-zh_cn

小结:了解这么多,是不是有想体验下Julia的冲动呢?下篇小编将手把手带你安装体验。

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

扫码关注云+社区

领取腾讯云代金券