没有什么是永恒的——包括编程语言。许多看起来可能是未来杰出人物的人最终可能会被遗忘。不管是因为不可抗拒的原因,还是因为自我发展。Python目前在“最热门编程语言榜单”上名列前茅,看起来将成为一种不朽的语言。但现在,许多其他语言也逐渐显示出Python的一些优势:易于编程、强大的数学和科学计算处理能力以及庞大的第三方库。下面是Python的一些潜在挑战者,并讨论Python如何保持其头把交椅。什么是Swift:Apple的编程语言,主要用于iOS原生开发,但现在已经开源,有向服务器端开发的趋势。它的优点:使用Swift编程是一种无忧无虑的体验!它的工作方式更像是一种脚本语言(例如Python),而不是一种编译语言(例如它的间接前身Objective-C)。Swift的决定性优势在于它的速度——它是由LLVM编译框架编译成机器码的,因此具有真正的多线程。Python仍在为此苦苦挣扎。如果开发速度比执行速度更重要的话,Python在这方面更有优势。但是Swift有XCodeIDE的“游乐场”模式。Python的优点:一方面,与Python相比,Swift是一种新的编程语言。Python具有所有成熟语言的优点——庞大的用户群、大量的库、成熟的多平台支持。Swift甚至还不支持Windows(如果你不算第三方库的话),尽管这是一个未来肯定会实现的功能。Swift也会对Apple工具链(比如Xcode)产生依赖,而Python的依赖很小。Go就是这样:**Google的“富有表现力、简洁、干净、高效”的语言,从Docker及其相关项目到InfluxDB数据库,以太坊的断链系统和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开始的,但还是很不习惯。)WhatisR:无论是从开发环境还是语言本身,这都是一门非常古老的语言。它是专门为统计而设计的。它的优点:R有很多Python的优点,比如丰富的第三方库等等。但R是专门为统计而生的,并且在整个开发过程中一直专注于统计。Python也可以做数学和统计计算,但在这方面完全被R语言碾压。R语言也引起了很多大公司的关注。微软已经收购了一个开发人员,该开发人员实现了R语言标准来为其云数据提供服务。惠普公司开发了一种分布式R计算产品,可以同时跨多个节点运行。这个产品在未来完全可以把Python挤出这个领域。Python的优点:有时,作为一种通用语言有它的好处。R语言的功能仅限于统计计算。由于开发环境的限制,构建R语言应用程序也很麻烦,而用Python创建应用程序却非常简单。并且很容易将R和Python与像RPy2这样的包结合起来。微软在R语言上投入了很多,但同时微软也对Python提供了很多支持,所以这两种语言都可以在Azure上很好地工作。
