不要误会我的意思,Python仍然是世界上最流行的编程语言之一,尤其事在数据科学和机器学习领域。

但是,如果您曾经和Python程序员一起坐在餐桌旁,那么您也知道他们对Python的弱点有多大怨言。从运行速度缓慢到要求过多测试,还有从未在测试中出现过的runtime errors,这一切值得我们烦恼。

这就是为什么越来越多的程序员采用其他语言的原因,顶尖的参与者是Julia,Go和Rust。Julia非常适合数学和技术任务,而Go非常适合模块化程序,Rust是系统编程的首选。

由于数据科学家和AI专家处理许多数学问题,因此Julia成为他们的赢家。即使经过严格的审查,朱莉娅也拥有Python无法匹敌的优势。

Python的禅与Julia的贪婪

人们之所以要创建一门新的语言,是因为他们想保留旧语言的优点,并修复缺点。从这个意义上说,Guido van Rossum在1980年代后期创建了Python以改进ABC。后者对于编程语言而言太完美了-尽管其刚性使其易于教授,但在现实生活中却很难使用。相反,Python非常实用。您可以在Python的理念中看到这一点,它反映了创建者的意图:

美丽胜于丑陋。
显式胜于隐式。
简单胜于复杂。
扁平比嵌套更好。
稀疏胜于密集。
可读性很重要。
特殊情况不足以违反规则。尽管实用性胜过纯度。

Python仍然保留了ABC的良好功能:例如可读性,简单性和易于学习。但是Python比ABC更加强大并适应现实世界。

从同样的意义上说,Julia的创造者们希望保留其他语言的优势,而抛弃那些不好的东西。但是Julia要雄心勃勃得多:与其取代一种语言,不如想击败所有语言。创造者这样描绘Julia:

我们很贪心:我们想要更多。
我们需要一种具有自由许可证的开源语言。
我们想要C的速度和Ruby的活力。
我们需要一种同调的语言,具有像Lisp这样的真实宏,但又具有类似Matlab的熟悉的数学符号。
我们想要的东西像Python一样适用于常规编程,像R一样易于统计,像Perl一样处理字符串,像Matlab一样处理线性代数,并且像Shell一样将程序粘合在一起。
我们希望它是交互式的,我们希望它是编译的。

Julia希望融合所有语言的所有优势,而不是用其他语言来权衡这些优势。尽管Julia非常年轻,但它已经实现了创作者设定的许多目标。

Julia的优势

1. 多功能性

从简单的机器学习应用程序到大量的超级计算机仿真,Julia可以用于一切。在某种程度上,Python也可以做到这一点,但似乎有点力不从心。相比之下,朱莉娅正是为此而建的,从下往上解决所有问题。

2. 速度

Julia的创造者希望创建一种与C一样快的语言,但是他们创造的速度甚至更快。尽管最近几年Python变得更容易加速,但它的性能与Julia的能力相差甚远。2017年,Julia甚至加入了Petaflop俱乐部,这是一个小型语言俱乐部,其峰值性能可以超过每秒1 petaflop的速度。除了朱莉娅,目前只有C,C ++和Fortran进入该俱乐部。

3. 社区

Python已有30多年的历史了,目前拥有一个庞大的支持社区。任何一个与Python相关的问题都可以在google找到答案。相比之下,Julia社区却很小。虽然这意味着您可能需要进一步挖掘才能找到答案,但是您可能一次又一次地与相同的人联系在一起。这可能会导致程序员关系超出价值。

4. 代码转换

您甚至不需要知道一个Julia命令即可在Julia中进行编码。您不仅可以在Julia中使用Python和C代码。您甚至可以在Python中使用Julia!这使得修补Python代码的弱点非常容易。或者在仍然了解Julia的同时保持工作效率。

5. 三方库

Python的最强优点之一:数量庞大且维护良好的库。Julia没有很多库,用户抱怨说它们的维护还不够出色。但是,当您认为Julia是一门非常年轻的语言,并且资源有限时,它们已经拥有的三方库数量令人印象深刻。除了Julia的库数量在增加之外,它还可以与C和Fortran中的库进行交互以处理图表。

6. 动态和静态类型

Python是100%动态输入的。这意味着程序将在运行时确定变量是浮点数还是整数。尽管这对初学者非常友好,但它也引入了许多可能的错误。这意味着您需要在所有可能的情况下测试Python代码,这是一项繁重的任务,需要大量时间。

由于Julia创作者也希望它易于学习,因此Julia完全支持动态键入。但是与Python相比,您可以根据需要引入静态类型,例如,它们以C或Fortran形式出现。这可以为您节省大量时间:您可以在有意义的任何地方指定类型,而不是寻找不测试代码的借口。

趋势形成前上车

停滞不前的Python,乘风破浪的Julia

虽然所有这些事情听起来都很棒,但是请记住,与Python相比,Julia仍然很小。

一个相当不错的指标是StackOverflow上的问题数量:目前,Python被标记的次数比Julia多二十倍!这并不意味着朱莉娅不受欢迎,而是需要一些时间才能被程序员采用。

考虑一下,您是否真的想用另一种语言编写整个代码?不,您希望在将来的项目中尝试一种新语言。这会造成每种编程语言在其发布与采用之间面临的时间滞后。但是,如果您现在就采用它(这很容易,因为Julia允许进行大量的语言转换),那么您将在未来进行投资。

随着越来越多的人采用Julia,您已经获得了足够的经验来回答他们的问题。另外,随着越来越多的Python代码被Julia取代,您的代码将更加持久。

结论:学习Julia,让它成为你的优势

四十年前,人工智能不过是一种利基现象。业界和投资者对此并不信任,许多技术笨拙且难以使用。但是那些当时了解它的人成为了今天的巨人,需求如此之高以至于他们的薪水与NFL球员的薪水相当。

同样,朱莉娅现在仍然很利基。但是,随着它的发展,最大的赢家将是那些早日采用它的人。我并不是说,如果您现在采用Julia,那么十年内您一定能赚到一大笔钱。但是,您正在增加机会。想想看:那里的大多数程序员的简历上都带有Python。在接下来的几年中,我们将在就业市场上看到更多的Python程序员。但是,如果企业对Python的需求减慢,那么Python程序员的观点就会下降。起初缓慢,但不可避免。

另一方面,如果可以将Julia纳入自己的简历,您将拥有真正的优势。因为说实话,您与其他Pythonista有何不同?不多。但是即使在三年的时间里,也不会有那么多的Julia程序员。

拥有Julia-skills,不仅可以证明自己对工作的兴趣超出了工作要求。您还表明自己渴望学习,并且对成为一名程序员的含义有更广泛的了解。换句话说,您很适合这份工作。您和其他Julia程序员是未来的摇滚明星。或者,正如Julia的创作者在2012年所说的那样:即使我们认识到我们是不可避免的贪婪,我们仍然希望拥有这一切。大约两年半之前,我们着手创建我们的贪婪语言。它还不完整,但是是时候发布1.0版本了,我们创建的语言称为Julia。它已经满足了我们90%的不愉快的要求,现在它需要其他人的不愉快的要求来进一步塑造它。因此,如果您也是一个贪婪,不合理,要求苛刻的程序员,我们希望您尝试一下。

Python仍然非常流行,但是如果您现在学习朱莉娅,那以后可能成为您的绝对优势。

原文来自于Medium,作者Rhea Moutafis,原文标题:Bye-bye Python. Hello Julia!,翻译校对:蜂鸟数据

如果喜欢我们的文章,记得点赞和收藏哦,我们每天都会为大家带来Python,数据科学和量化交易的精品内容。

【关于我们】

蜂鸟数据:国内领先的金融数据API提供商。

蜂鸟数据团队由业界顶尖的数据工程师,数据科学家和宽客组成,我们正努力构建一个强大的金融数据库,并提供API接口,目标是令金融数据开源化和平民化。

浏览并测试我们接口吧,目前覆盖股票,外汇,商品期货,数字货币和宏观经济领域,包括实时报价(tick)和历史数据(分钟),提供REST API和Websocket两种接入方式,能够满足金融分析师,量化交易和理财app的需求。

需要金融数据?利用蜂鸟API将数据整合到您的应用

如果您准备好了,请登录蜂鸟官网,注册免费获取API**,然后开始探索我们的金融数据库吧。

相关文章:

  • 2021-11-23
  • 2021-05-15
  • 2021-08-21
  • 2021-11-30
  • 2021-04-15
  • 2021-04-11
  • 2021-10-20
猜你喜欢
  • 2021-05-07
  • 2021-05-03
  • 2021-10-25
  • 2021-11-29
  • 2021-08-25
相关资源
相似解决方案