双色球基本走势图体坛网|双色球基本走势图50期|
首页»Python»Python的四个挑战者:Swift、Go、Julia、R

Python的四个挑战者:Swift、Go、Julia、R

来源:csdn 发布时间:2016-06-30 阅读次数:

  没什么是永恒的——包括编程语言。很多看起来可能是将来的佼佼者,到头来可能被人们遗忘。无论是因为不可抗拒的原因,还是因为自身发展的原因。

  Python时下正在“最热门的编程语言榜”上春风得意,看起来将会成为一门不朽的语言。但是现在,很多其他语言也逐渐显现出Python的一些优点:编程方便,对数学和科学计算拥有强大的处理能力,庞大的第三方库。

  下面是Python的一些潜在的挑战者,并讨论了Python是如何保住它第一的席位的。

 Swift

  它是什么:?#36824;?#20844;司的一种编程语言,主要用于原生的iOS开发,但是现在已经开源,并有向服务器端发展的倾向。

  它的优点:使用Swift编程是一种毫无障碍的体验!用起来相比于编译型语言(?#28909;紓?#23427;间接的前任Objective-C)更像是一种脚本语言(?#28909;鏟ython)。Swift的决定性的优点是它的速度——它是由LLVM编译框架编译成机器码的,所以它具备真正的多线程。Python还在这方面挣扎

  如果说开发速度要比执行速度重要的话,Python在方面更有优势。但是Swift有XCode IDE的“Playground”模式。

  Python的优点:一方面,相比于Python来说,Swift是一门新型的编程语言,Python有所有成熟的语言所具备的有点——大量的?#27809;?#22522;础,大量的库,成熟的多?#25945;?#25903;持。Swift现在甚至还不能支持Windows(如果不算上第三方库的话),虽然这是将来必定会实现的特性。Swift还会产生?#20113;还?#24037;具链的?#35272;擔ū热鏧code),而Python的?#35272;?#23601;少的很。

 Go

  **它是什么:**Google的“表现力强、简洁、干净、高效”的语言,从Docker及其相关项目到InfluxDB数据库,Ethereum坏链系统和Canonical的Snappy包管理工具都是用Go写成的。

  它的优势:和Swift一样,Go语言?#19981;?#32534;译成?#25945;?#30456;关的机器码,所以它不仅可以在多任务方面比Python快很多,还还可以在运行时不像Python那样生成额外的目标。Go代码编译速度非常快,开发速度也很快,所以它更像一门解释性的语言。

  Python的优势?#26680;?#28982;Go不像Swift那么新——它在2009年发布——Python在?#27809;?#21644;库的数量方面还是占有优势。此外,Go的语法和错误处理方式和Python相去甚远。所以,现在Python?#27809;?#24456;难转移到Go,但是不会阻止新?#27809;?#36873;择这样一门语言。现阶段,Python的安装器让使用和构建Python应用非常简单——更不必说像Linux这样的系统,Python已经成为了标准。

 Julia

  它是什么:在2012年发布,是面向技术应用的一门编程语言,例如数据分析和线?#28304;?#25968;。

  它的优点: Python一个很大的?#20040;?#26159;数学和科学应用——多亏了Numpy这样的库和交互式的IPython编辑程序。Julia的目标?#27809;?#20063;是同样的群体,和Go、Swift一样,它也比Python快。它还有一个正在不断扩展的,不仅仅包括科学和数学计算的应用,还有很多Python的功能,?#28909;?#20174;云端提供商那里取得数据。

  Python的优点: Julia有和Python类似的库,但是Python并不满足现状,还在马不停蹄地优化语言的核心开发环境。Python的速度并非一定不及Julia(或者其他Python的竞争者),只要针对不同的工作选择恰当的库完成,速度还是客观的。

  Julia语言本身还存在一些争议。?#28909;紓琂ulia的数组下标是从1开始的,而不是0——这不仅和Python比是一个缺点,很其他语言比起来也是。(很多第三方的包索引也是从1开始,但是仍让人很不习惯。)

 R

  它是什么:无论是就开发环境还是语言本身来说,这都是一个很老的语言了。它专为统计学设计。

  它的优点: R有很多Python的优点,?#28909;?a href="http://www.infoworld.com/article/2940864/application-development/r-programming-language-statistical-data-analysis.html" target="_blank">有丰富的第三方库等。但是R是专门为统计学而生的,并?#20197;?#21518;面的发展中依然专注于此。Python也可以做数学和统计学方面的计算,但是在这方面被R语言完全碾压。 

  R语言还引起了很多大公司的注意,微软收购了一个R语言标准实现的开发商开服务它的云端数据。Hewlett-Packard开发了一种分布式的R语言计算产品,可以同时跨多个节点运行。这个产品在将来可以把Python完全挤出这个领域。

  Python的优点:有时候,作为一个多用途的语言也有它的?#20040;Α语言的功能局限在统计学计算方面。由于开发环境的限制,构建R语言应用也很麻?#24120;?#20351;用Python创建应用就很简单。而且通过像RPy2这样的包可以轻松地将R语言和Python联合起来。

  微软对R语言的投入很多,但是同时微软也对Python提供了很多支持,所以这两种语言都能在Azure上工作的很好。

  原?#27169;?a href="http://www.infoworld.com/article/3088165/application-development/4-languages-poised-to-out-python-python.html" target="_blank">4 languages poised to out-Python Python

QQ群:WEB开发者官方群(515171538),验证消息:10000
微信群:?#26377;?#32534;微信 849023636 邀请您加入,验证消息:10000
提示:更多精彩内容关注微信公众号:全栈开发者?#34892;模╢sder-com)
网友评论(共0条评论) 正在载入评论......
理智评论文明上网,拒绝恶意谩骂 发表评论 / 共0条评论
登录会员?#34892;?/span>
双色球基本走势图体坛网