Python是时候腾出空间了。关于朱莉娅的前景

早上好,哈伯!

我们的Python文献中的曲别针不断地与补充 书籍各个层面。但是,今天我们想今天介绍这篇文章,该文章的作者认为Julia是Python的可行且有希望的替代方案。阅读并点击链接,不要忘记投票。



如果朱莉娅对您来说仍然很神秘,请不要担心。照片由朱莉娅·凯撒在Unsplash



不要误解我。社区的坚定支持仍然保证了Python的普及,该社区包括计算机科学,数据科学和人工智能方面的专家。

但是,如果您有机会在这些人的陪伴下共进晚餐,您会发现他们对Python的缺陷感到非常愤怒。这种语言不仅速度很慢,而且还需要进行广泛的测试,并且尽管进行了事先测试,仍然会产生运行时错误。这足以使Python令人沮丧。

这就是为什么越来越多的程序员转而使用其他语言的原因,尤其值得一提的是Julia,Go和锈。 Julia非常适合数学和技术问题,Go非常适合模块化任务,Rust在系统编程中必不可少。

由于数据科学和人工智能必须处理许多数学问题,因此朱莉娅(Julia)是他们的天赐之物。即使进行了非常严格的检查,事实证明Julia仍然具有Python所无法比拟的优势。

禅宗与朱莉娅的贪食之

争:发明一种新的编程语言,其作者努力保持优势并消除旧语言的缺点。

正是出于这种目的,Guido van Rossum在1980年代后期采取了行动,创建了Python:他寻求改善ABC。最后一个太完美了对于一种编程语言-并且由于如此严格,事实证明它很容易学习,但在实际项目中却很难使用。

相比之下,Python非常实用。ZenPython代码中可以明显看出这一点,反映了其创建者的意图:

美丽胜于丑陋。
显式胜于隐式。
简单胜于复杂。
复杂胜于混淆。
部署胜于嵌套。
稀疏胜于密集。
可读性很重要。
特殊情况并不违反规则。
同时,实用性比完美更重要。
[...]


Python保留了ABC的许多优点:例如,对于初学者而言,可读性,简单性和清晰度。但是Python比ABC可靠得多,并且在现实生活中也更适用。

在类似的意义上,茱莉亚的创造者们希望保留其他语言的所有优点,并摆脱所有的弊端。但是朱莉娅的野心绝不仅限于此:目标不是取代任何一种语言,而是超越所有语言。

下面介绍一下茱莉亚的创造者这个

: . . C Ruby. Lisp, , Matlab. , Python, R, Perl, , Matlab, , shell. , , . , .


朱莉娅寻求结合现有语言的所有优点,但不妥协,这需要考虑这些语言及其缺点。此外,尽管朱莉娅是一门年轻的语言,但他已经实现了其创建者设定的许多目标。

什么朱莉娅开发人员喜欢的朱莉娅

各种

可用于任何东西,从简单的机器学习应用到巨大的超级计算机模拟。 Python在某种程度上也可以做到这一点,但是Python在某种程度上适应了这些任务。
相反,朱莉娅就是为这种工作而创建的。从一开始就。

速度

朱莉娅(Julia)的创造者希望使一种语言的速度不逊于C-但事实证明,他们的创造工作得更快。尽管近年来加快Python的速度变得越来越容易,但它的性能与Julia的差距仍然很大。

2017年,朱莉娅甚至进入了Petaflop俱乐部,这是一家小型语言俱乐部,具有出色的性能,可以每秒超过1 petaflop的速度运行。除朱莉娅外,该俱乐部现在仅包括C,C ++和Fortran。 已有30多年历史



Python 社区拥有一个庞大且非常可靠的社区。在Python上几乎没有这样的问题,在Google的一个搜索查询中找不到该问题的答案。

相反,朱莉娅社区很小。是的,这意味着您必须更加积极地挖掘才能找到答案,但是通过这种搜索,您可以一次又一次地去找同一个人。因此,宝贵的专业程序员关系​​是紧密相连的。

代码转换

要用Julia编写代码,您甚至不需要知道这种语言的单个命令。您不仅可以在Julia内部使用Python和C代码,甚至可以在Python内部使用Julia代码

不用说,在这种情况下,在Julia上修补Python代码的弱点并不困难。或者在只熟悉Julia的同时保持生产力。





库一直是并且仍然是Python的强项。照片Susan Yin谈Unsplash

这是Python最重要的优点之一-它具有大量受支持的库。 Julia没有很多库,用户抱怨(到目前为止)它们的库没有得到很好的支持。

但是,考虑到朱莉娅是一门非常年轻的语言,资源有限,这一事实进行了调整,现有图书馆的数量令人印象深刻。除了Julia充斥着新的库这一事实外,我们注意到该语言可以与C和Fortran的库对接,例如用于处理图形。

动态和静态类型

Python是100%动态输入。这意味着程序在运行时将确定例如给定变量是整数还是浮点数。

尽管这种做法对初学者来说非常方便,但由于它,各种错误都会渗透到程序中。结果,需要在所有可能的情况下测试Python代码,这是一个非常愚蠢的任务,非常耗时。

由于Julia的创造者也希望使他们的语言易于学习,因此Julia完全支持动态键入。但是,与Python不同,Julia还可以引入静态类型-以它们存在的形式,例如在C或Fortran中。
这样可以节省大量时间。现在,您无需为未测试代码的事实寻找借口,而只需在适当的地方指定类型。

数据:我们在较小的语言上进行了投资



。在StackOverflow上标记为Julia(左)和Python(右)的问题数量。

尽管上述所有听起来都非常乐观,但必须记住,与Python相比,Julia仍然只是个婴儿。

有一个很好的指标:StackOverflow上的问题数量:目前,Python被提及的频率是Julia的二十倍!

这一点并不表明朱莉娅不受欢迎-程序员只需要时间来习惯这种新语言。

自己判断-您会自己用全新的语言编写所有代码吗?不,您希望推迟使用新语言,直到可以在新项目中尝试使用为止。因此,在语言输出和广泛使用之间存在延迟。所有编程语言都会发生这种情况。

但是,如果您现在精通Julia,并且很容易,考虑到Julia支持多少种语言转换,这将是您未来的投资。随着越来越多的人迁移到Julia,您将获得必要的经验并能够回答他们的问题。另外,您的代码将变得非常持久。

底线:练习朱莉娅,让它成为您的爱好

四十年前,人工智能不过是一种利基现象。投资者和行业人士都不相信它,许多AI技术显得笨拙且使用不便。但是那些研究过AI的人今天已经成为巨人-今天,他们的薪水与顶级运动员薪水差不多。

同样,朱莉娅现在仍然很利基。但是,当他长大后,那些提前换过他的人将是最大的赢家。

我不保证十年后如果您现在学习朱莉娅,您肯定会用铲子赚钱。但是,发生此类事件的机会会增加。

想想看:今天,大多数程序员在简历中都使用Python语言。再过几年,我们将在劳动力市场上看到更多的piton程序员。但是,如果企业对Python的需求增长放缓,那么Python程序员的前景将开始恶化。起初,缓慢但不可避免。

另一方面,如果在简历中指定Julia,则可以真正脱颖而出。既然如此,我们将说实话,但是您与必须与之竞争的整个pitoners军有何不同?几乎没有。但是,即使在未来三年内,具有Julia知识的程序员仍将是相对罕见的专家。

拥有Julia的技能,您不仅在证明自己的兴趣不仅限于“工作”的要求。您还表明您愿意学习并且对成为程序员意味着什么有更广泛的了解。换句话说,值得与您打交道。
您-和其他Julia专家-将来可能会成为明星,并且您知道。或者,正如Julia在2012年的创作者之一所说:

, , . , . , 1.0 . , , Julia. 90% , , . , – , – , .

All Articles