最后更新:2020-03-24 14:33:40 手机定位技术交流文章
选自medium
作者:埃米特·布德罗
机器编译器之心
参与:杜威、张骞、肖庆
作者从速度、通用性、多重分布、适用于最大似然法的程度和包管理器五个方面阐述了Julia相对于Python的优势。

Julia是一种用于机器学习和统计编程的多范例函数编程语言尽管Python通常被认为是一种面向对象的编程语言,但它也是一种用于机器学习的多范例编程语言。应该注意的是,朱丽亚的语言更基于功能范式此外,虽然Julia语言不如Python流行,但在数据科学中使用Julia有很大优势,这使得它在许多情况下成为更好的编程语言选择。
下面将从五个方面介绍朱丽娅的优点
速度
是速度第一,这是朱莉娅语言骄傲的一个重要方面。与需要解释器来执行代码的Python不同,Julia主要依靠自己的编译另一方面,与其他编译语言如C不同,Julia在运行时编译,而传统语言在执行前编译。如果朱丽亚写得很好,它的速度相当于C,有时甚至可以超过CJulia语言使用实时(JIT)编译器,编译速度非常快,尽管它比传统的低级编译语言(如C或Fortran)更像一种解释性语言。
通用性
我们都知道,通用性是Python语言相对于Julia语言的一个优势。事实上,朱莉娅无法实现许多用Python语言编写的项目当然,以上只是指编程语言本身,这里提到的一般性是指将编程与其他语言混合的能力。Julia代码通常可以直接在诸如R、Latex、Python和c之类的语言中运行这意味着,一个典型的数据科学项目一旦由Julia在本地编写和编译,就有可能被用作封装类或其他编程语言中的字符串。
PyCall和RCall也是朱莉娅的两大优势。考虑到Julia语言有一个很大的缺点,就是它的包不如Python或R语言丰富,使用PyCall和RCall在Julia代码中随时调用Python和R为用户提供了极大的方便。PyCall在Julia语言中实现得很好,也非常有用。
多重分布

Julia是一种非常独特的类型化语言,具有自己的执行模式和特性,但其酷特性之一是多重分布首先,朱莉娅的多重分配速度非常快此外,使用Julia的多态调度可以将函数定义作为结构属性来应用这使得朱莉娅的遗传是可行的。不仅如此,使用Julia的多重分布还可以实现函数扩展,这对包扩展非常有利,因为无论何时显式导入方法,用户都可以更改它。因此,用户可以轻松地显式导入自己的方法,并选择相应的结构将其扩展为新的函数。
适用于ML
的程度与Python不同。Julia语言旨在应用于统计和机器学习领域。Python创建于20世纪90年代初,是一种面向对象的语言,从那以后发生了很大的变化。虽然Python有着悠久的历史和广泛的应用,但是使用专门为高级统计工作创建的语言可以带来巨大的好处。
我认为朱莉娅在线性代数方面比Python好本地Python只能缓慢地完成线性代数,而本地Julia可以快速地完成它。这是因为Python最初不是为了支持所有与机器学习相关的矩阵和方程运算而开发的。这并不意味着Python是坏的,尤其是对于NumPy扩展库然而,就没有额外的扩展库而言,Julia更适合这种数学运算。此外,朱莉娅的操作数系统比Python更类似于R语言使用Julia语言可以更快更容易地完成大多数线性代数运算,如以下代码所示:y <。- array1 * array2 Julia ->;Y =数组1。* array2
包管理器
Julia的Pkg包管理器秒杀Python的Pip包管理器Pkg附带了REPL和茱莉亚软件包,您可以从中构建、添加、删除和实例化软件包。这特别方便,因为Pkg和Git是绑定在一起的。更新和添加包非常容易简而言之,在任何时候,Pkg的体验都比Python的Pip有趣得多。
总结了
R,Julia,Python,你使用什么语言并不重要重要的是你要知道每种语言都有它的缺点,没有一种语言是完美的。当您的程序用于广泛的用途时(从机器学习到图形用户界面到应用编程接口),这一点尤其明显总而言之,朱莉娅是我最喜欢的语言之一,就像Python一样。Python有一个更好的包。如果项目足够小,我将使用Python。然而,对于具有数百万个观察值的数据集,用Python读取数据变得很困难。简而言之,我对朱莉娅的未来充满了期待。朱莉娅写起来很有趣,将来可能会在数据科学领域变得更实用。
本文由 在线网速测试 整理编辑,转载请注明出处。