python的四个挑战者:swift、go、julia、r

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

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

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

 swift

  它是什么:苹果公司的一种编程语言,主要用于原生的ios开发,但是现在已经开源,并有向服务器端发展的倾向。

  它的优点:使用swift编程是一种毫无障碍的体验!用起来相比于编译型语言(比如,它间接的前任objective-c)更像是一种脚本语言(比如python)。swift的决定性的优点是它的速度——它是由llvm编译框架编译成机器码的,所以它具备真正的多线程。python还在这方面挣扎。

  如果说开发速度要比执行速度重要的话,python在方面更有优势。但是swift有xcode ide的“playground”模式。

  python的优点:一方面,相比于python来说,swift是一门新型的编程语言,python有所有成熟的语言所具备的有点——大量的用户基础,大量的库,成熟的多平台支持。swift现在甚至还不能支持windows(如果不算上第三方库的话),虽然这是将来必定会实现的特性。swift还会产生对苹果工具链的依赖(比如xcode),而python的依赖就少的很。

 go

  **它是什么:**google的“表现力强、简洁、干净、高效”的语言,从docker及其相关项目到influxdb数据库,ethereum坏链系统和canonical的snappy包管理工具都是用go写成的。

  它的优势:和swift一样,go语言也会编译成平台相关的机器码,所以它不仅可以在多任务方面比python快很多,还还可以在运行时不像python那样生成额外的目标。go代码编译速度非常快,开发速度也很快,所以它更像一门解释性的语言。

  python的优势:虽然go不像swift那么新——它在2009年发布——python在用户和库的数量方面还是占有优势。此外,go的语法和错误处理方式和python相去甚远。所以,现在python用户很难转移到go,但是不会阻止新用户选择这样一门语言。现阶段,python的安装器让使用和构建python应用非常简单——更不必说像linux这样的系统,python已经成为了标准。

 julia

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

  它的优点: python一个很大的用处是数学和科学应用——多亏了numpy这样的库和交互式的ipython编辑程序。julia的目标用户也是同样的群体,和go、swift一样,它也比python快。它还有一个正在不断扩展的包,不仅仅包括科学和数学计算的应用,还有很多python的功能,比如从云端提供商那里取得数据。

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

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

 r

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

  它的优点: r有很多python的优点,比如有丰富的第三方库等。但是r是专门为统计学而生的,并且在后面的发展中依然专注于此。python也可以做数学和统计学方面的计算,但是在这方面被r语言完全碾压。 

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

  python的优点:有时候,作为一个多用途的语言也有它的好处。r语言的功能局限在统计学计算方面。由于开发环境的限制,构建r语言应用也很麻烦,使用python创建应用就很简单。而且通过像rpy2这样的包可以轻松地将r语言和python联合起来。

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

  原文:4 languages poised to out-python python

以上就是python的四个挑战者:swift、go、julia、r的详细内容,更多请关注 第一php社区 其它相关文章!

Posted in 未分类

发表评论