首页
微榜
帐号
文章
问答
我收藏的公众号
我收藏的文章
我浏览过的公众号
我浏览过的文章
提交公众号
登录
注册
我收藏的公众号
我收藏的文章
我浏览过的公众号
我浏览过的文章
找公众号
搜文章
编程语言大佬位置摇摆——Julia强撼python
2020年06月12日
Seed读职场
01
Julia是谁?
Julia,听上去这是一个美丽的女孩子,但其实,它是Python的兄弟,是一个
面向科学计算的高性能动态高级设计语言
。它的设计初衷,是为了
满足高性能的数值分析和计算科学的需要
。
Julia的语法和我们熟悉的C语言、python、MATLAB等非常相似,它同样有if语句、function函数使用等编程语言具有的基本性能。但是它却比C语言、python、matlab更加优秀。
有多优秀?
它和C语言一样快速、具有Ruby的灵活性和python的通用性;更重要的是,和其他编程语言相比,Julia学起来更简单,更容易上手。
这样看起来,Julia无懈可击。
但是,Julia在2009年推出,到现在,它才11岁;而其他老牌编程语言,像python,20世纪90年代初诞生;像MATLAB,1.0版本在1984年发布;像R语言,1980年开始出现。
实在要从Julia身上挑刺,就是它太年轻了,运行起来会不稳定。
02
编程语言老大哥——python
对于程序员来说,python是再熟悉不过的计算机编程语言了,因为它的应用领域很广泛:既能开发web和Internet,也能进行科学计算和统计,还能开发软件,用处多多。
除了应用广泛,python还提供了极其完善的基础代码库,用python,不再需要从零编写脚本语言,直接从基础代码库里调用即可
。
因此,从2004年开始,python的使用率呈线性增长,它已经成为众多程序员电脑里的宠儿,在2011年,python还被TIOBE(编程语言排行榜)评为2010年度语言。
根据Dice给出的数据中,我们可以看到,从2017年第三季度开始,国外python开发者的岗位数量迅速增长,到2018年第二季度,这个数量增加了接近一倍。
在Indeed求职网站上,python工程师的年薪高达14万美元,澳洲的python工程师,年薪高达10万澳元。
在很长一段时间里,python在编程语言界一直处于较为领先的位置。直到Julia以迅雷不及掩耳之势火了起来,python的霸主地位岌岌可危。
03
Julia和python的正面交锋
为什么一个小伙子能够轻易地挑战老大哥?让我们一起来洞悉背后的奥秘。尽管python在编程语言界的口碑一直出众,
但它的缺点也是致命的——运行速度慢,比C语言和Java都要慢。
但这里指的慢,也不超过秒的区别:C语言执行一个程序,需要0.01秒,而python执行同样的操作需要0.1秒。在今天的两位主角的PK中,Julia也以速度快比python更胜一筹。
Julia和其他编程语言不同,
它是以自己独有的方式来实现语言的编译:使用即时编译器,边运行边编译;而其他编程语言是在运行之前进行编译的。
秒以内的速度优胜,对大多数程序员而言,这个优势并不明显,那么接下来的这个原因,将会让Julia把python狠狠地甩在身后。
python使用的是完全动态类型,即程序在运行时才决定变量是整型还是浮点型。所以在使用python时,可能需要经过多次的测试,来减少程序中的错误。
但Julia没有那么麻烦,它既支持动态类型,也可以引入静态类型,使得用户可以任意地指定类型,不需要重复测试。
除了在速度上高下立判,专业性方面,Julia也在python之上。前面已经介绍过,python的优点,是应用广泛,它是一个简单的、面向对象的语言;
而Julia是为统计学和机器学习专门定制的,特别是在高层次统计学中,Julia的优势更加明显。
以线性代数为例,在这个科目中,矩阵和方程非常常见。如果学生们选择用python来减轻线性代数作业的负担时,他们还需要寻找额外的软件包,和python结合,才能流畅地进行线性代数运算;而Julia不需要如此繁杂的操作,学生们只需要拥有一个Julia,就可以在直接进行线性代数运算,并且Julia中的线性代数操作很容易,执行起来也非常快。
除此以外,Julia的多重分派特性也深得程序员们的心。分派是指根据对象的类型来选择方法,python在使用函数时,函数的结果只和第一个参数类型有关,而与后面的参数无关,这也叫单分派;
而在Julia里,程序员可以根据自己的需求,选择函数中任意参数,而非第一个,来决定调用哪个方法,这也叫多重分派。
04
不仅小朋友,程序员也要做选择
综上所述,Julia在和python的PK中,以压倒性优势获胜。
但不管哪一种程序语言,它都有自己的缺点,都不可能是十全十美的。
如果执行小项目,首选是python;要是需要进行统计分析,Julia会是更好的选择。现在,岗位对python的需求已经逐渐常态化,接下来这几年,会使用python这一点,在简历上,可能就没有那么吸睛了。
虽然目前不管是国内还是国外,岗位对Julia的需求还不多,
但要是能在Julia还未被大多数人了解时,让掌握Julia成为你身上的标签,那就意味着你的机会正在增加,你的发展道路也会更加开阔。
Reference:
国外python开发者岗位——Dice数据
美国、澳洲python岗位薪资——Indeed网站
撰文:五三
收藏
赞
已赞
推广
扫一扫,分享文章给你的小伙伴
作者介绍
Seed读职场
微信号:SeedTraining
分享有关求职与个人发展的相关信息,将有助于求职的职业培训项目介绍给大家,帮助留澳华人毕业生更顺利地迈入职场。
您的【关注和订阅】是作者不断前行的动力