笔者学习Julia有几天了,有人开始问了:
Julia是什么?有啥用?
身为Julia小白,决定学习前了解的情况是:
“Julia是一门牛B、‘无耻’的语言。”
为什么这么说呢?一起来了解一下。
(前方不高能,请轻松阅读)
全新语言
《Julia:集Python、C++、R等语言为一体的全新语言》这篇文章成功吸引了注意:
文章里面有段话:
在2012年宣布Julia首次发布的博客文章中,Jeff Bezanson,Stefan Karpinski,Viral Shah和Alan Edelman这三个作者表示,3个人花了三年时间创建Julia,他们非常“贪婪”。这帮人厌倦了要在Matlab,Lisp,Python,Ruby,Perl,Mathematica,R和C之间的权衡,想要一种有益于科学计算,机器学习,数据挖掘,大规模线性代数、并行计算和分布式计算的单一语言。
看不懂对不对?笔者尝试翻译一下:
Julia的作者们想要整一个很牛B的语言,这门语言要灭掉Matlab,Lisp,Python,Ruby,Perl,Mathematica,R和C在科学计算上的地位,想要做一个高效的科学计算神器。
打动笔者想要开始学的第1点:
Julia想要灭掉的语言真多,从来没见过的多:一共8门语言。
也就是这个叫Julia的,可以一个挑翻8个。
好牛X的感觉,不明觉厉。
其他语言了解一下:
Python:
现在很少有人会不知道Python了吧?
作者是Guido von Rossum,荷兰人。他希望这个新的叫做Python的语言,能实现他的理念(一种C和shell之间,功能全面,易学易用,可拓展的语言)。
想灭2门
你看,每个想要创造语言的作者,都想灭掉/改进其他已知的语言。
Ruby:
Github是一个从Ruby社区诞生出来的项目
现在也很少程序猿会不知道 Github的吧?
Matz是一个专业的软件工程师,在日本有名的open source公司netlab.JP工作,而且他在日本也是一个高姿态的open source 布道者。
Matz希望的是一种比Perl强大,比Python更面向对象的语言,所以,他打算设计一个全新的自己的语言。
也想灭2门
你看,每个想要创造语言的作者,都想灭掉/改进其他已知的语言。
看到了吧,创造语言的作者都想灭掉其他语言,但是想要灭掉这么多的还是第一次见!
花边故事
这个故事的链接在这里:
https://juliaeconomics.com/2014/06/15/why-i-started-a-blog-about-programming-julia-for-economics/
《Why I Switched to Julia》,来自U. of Chicago的Bradley J. Setzler分享了他为什么转而使用Julia:因为他用Python写的程序24小时跑不完,Julia用了5分钟给了他正确的结果。
打动笔者想要开始学的第2点:
Julia的运行高效率不是吹的。
要那么高效率有什么用?能吃吗?
时间就是金钱,效率就是生命啊!
没听过“人生苦短,多用python!”这句话嘛(Python的效率是节省在开发效率上,而不是运行效率)
官方介绍
这是Julia官网上的部分截屏,为了避免看不懂专门进行了网页翻译(原文是英文,机器翻译不一定对哈):
当然了,笔者也没有全部看懂…打动笔者关注的点其实是在:
- 数据科学
- 机器学习
还有,关于软件包的介绍:
Julia已被下载超过200万次,而Julia社区已经开发了超过1,900个Julia软件包。这些包括各种数学库,数据操作工具和用于通用计算的包。除此之外,您还可以轻松使用Python,R,C / Fortran,C ++和Java中的库。如果你找不到你想要的东西,请在Discourse上询问,或者甚至更好地贡献!
您还可以轻松使用Python,C / Fortran,C ++和Java中的库!
您还可以轻松使用Python,C / Fortran,C ++和Java中的库!
您还可以轻松使用Python,C / Fortran,C ++和Java中的库!
重要的事情说N遍,这个的意思是:
吸星大法 啊!啊!啊!
而且还这么明目张胆写在网站的首页!
从没见过这么"厚颜无耻"的语言,我喜欢!
总结下来,Julia很像金庸笔下的各种主角:融合各门派武功于一身。
这样的一门语言,难道不值得关注一下么?
PS:
看看下面已经发生的历史,有没有似曾相识的感觉:
- 邮局:电子邮件是什么?可以吃吗?
- 电子邮件:即时通讯(QQ)是什么?可以吃吗?
- 固话:手机是什么?可以吃吗?
- 手机:智能手机是什么?可以吃吗?
- 诺基亚:iPhone 是什么?可以吃吗?
- 门户:博客是什么?可以吃吗?
- 博客:微博是什么?可以吃吗?
- 微博:微信是什么?可以吃吗?
- 专栏作家:公众号是什么?可以吃吗?
- Web1.0:Web2.0是什么?可以吃吗?
- 互联网:移动互联网是什么?可以吃吗?
- 文字终端:浏览器是什么?可以吃吗?
- Netscape: IE是什么?可以吃吗?
- IE: FireFox是什么?可以吃吗?
- FireFox: Chrome是什么?可以吃吗?
- ...
进步的技术需要关注,就这么简单。
对了,还有GO语言(By Google),也是需要关注的。
KevinZhang
Aug 22, 2018
网友评论