Julia 向 Python 宣战!
2022/6/1 14:23:46 阅读:230 发布者:
近两年,凭借动态特性和易于扩展性,Python 在企业级应用程序、机器学习/人工智能模型、数据科学等工作中,备受开发者青睐,其火热程度早已超越了编程语言界的老牌兵 Java。而 Python 有朝一日会成为今朝的 Java 吗?对此,本文作者发文表示,30 岁的 Python 正面临着来自编程语言世界的新参与者——Julia 的威胁,而这究竟是怎么一回事?
以下为译文:
自上世纪90年代以来,编程语言Python已经取得了长足的进步。当Guido Van Rossum开发Python时,他几乎不知道Python会成为世界上最流行的语言之一。今天,Python是人类历史上使用最广泛的编程语言之一,并且已经应用于很多应用程序中。无论是企业级应用程序,还是机器学习/人工智能模型、数据科学工作,Python几乎在所有蓬勃发展的行业和领域中都受人青睐。
Python市场
全世界有超过800万的开发人员出于各种目的热忠于使用Python。由于其动态特性和易于扩展性,Python已经成为开发人员的首选语言。这也是为什么Python能够击败Java的原因,Java一度以来都是开发人员最喜欢的语言。也可能是由于一门语言的自然老化过程,Java正在接近尾声。大多数新语言都是为解决现代面临的新挑战而设计的。虽然之前开发的语言在解决当时的问题时效率极高,但要让它们跟上不断变化的行业和市场就变得极其困难。
但是,Python作为一种拥有如此庞大用户和开发者支持的开源语言,即使在今天仍然保持着它的巅峰状态。它丰富的库和内置的功能使其成为企业、开发人员和数据科学家的热门选择。尽管Java仍然被用于企业开发,但它在其他领域的相关性几乎为零。如果环顾四周,你很难发现一个机器学习专家在Java上设计和训练模型。尽管如此,Java是全球第二大最受开发人员欢迎的语言。
取代Java
Python已经成功地在大多数领域取代了Java。在企业开发方面,Java面临着来自谷歌的新编程语言Go的威胁。随着我们进入未来科技时代,对高性能计算的需求也在不断增长。这也是数据科学和人工智能的时代需求。尽管有人可能认为使用extreme GPU有助于提高速度和效率,但事实远非如此。它不能满足特定的数据处理需求。相反,前沿应用程序需要其他依赖项来优化性能,并帮助科学家和开发人员实现预期的目标。最终,这将引导企业和研究机构寻找更健壮的编程语言,为特定的任务及其交付速度而设计。
进入Julia的世界
这个人人都喜爱Python的时代,正面临着来自编程语言世界的新参与者——Julia的威胁。Viral Shah是Julia Computing的首席执行官,他指出,在21世纪初,开发人员更喜欢用C语言进行系统编程,用JAVA开发企业应用程序,用SaaS进行分析,用MATLAB进行科学计算。然而,今天的开发人员使用Rust进行系统编程,Go进行企业开发,使用Python/R进行分析,并使用Julia进行科学计算。
这几年来我们能够感受到从MATLAB到Python的过渡。我们知道机器学习几乎在所有应用程序中使用,而且Python库使ML模型的实现更加容易,所以人们转向了Python。在此之前,MATLAB是这项任务的最佳选择,可以帮助人们进行分析和科学计算。但是很明显,人们会把目光转向更容易实现、容易理解、更快速、更高性能和可扩展的解决方案。因此,Python完美地填补了JAVA和MATLAB的空白。
Julia立足之地
Julia和Python之间的一个关键区别是处理特定问题的方式。Julia的构建是为了减轻高性能计算的挑战。尽管Python现在已经发展为一种快速的计算语言,但是我们必须承认它不是为这项工作而设计的。然而,Julia是专门为高速处理和计算工作设计的。虽然它只有几个月的历史,却已经在研究人员和数据科学家中引起轰动。
两个月前,Julia发布了一个稳定的版本,称为1.2,它已经得到了进一步的改进,可以有效地处理大量占用资源的数据科学项目。目前有超过800名Julia开发人员,他们正在为GitHub做贡献,帮助其成为首选语言。
结论
凭借资源和速度这两把“利剑”,两个月大的Julia已经和30岁的Python打了一场硬仗。尽管现在很难说它能否完全接管Python,但它设计用于处理复杂的计算特性肯定会对世界产生影响。此外,随着问题的处理需要更多的资源和更高性能的计算,Julia可能会成为每个人的最爱。除非Python想要和Java一样的命运,否则它将不得不提高其速度和效率,并不断优化它的库。它可能不只是启动新的更新,而是完全转换引擎,使其成为更友好的CPU语言。Python相对于Julia的一个优势是其丰富的库。由于Julia还处于起步阶段,所以它需要很长时间才能构建像Python这样高效、动态的库和函数。这两种语言之间的斗争才刚刚开始,但对于需要快速高效工具来实现目标的研究人员和科学家来说,Julia已经变成了一种优势。
转自:深度学习科研平台
如有侵权,请联系本站删除!