Swift、Go、Julia和R已经成为Python这个当前便捷性和功能性之王的潜在竞争对手。王权不是永恒的,编程语言也不例外。作为目前各大语言流行榜的冠军,Python似乎也面临着同样的挑战。不过,各类后起之秀也靠自己的设计证明,Python的编程便捷、强大的数学和科学计算能力、庞大的第三方库是一门优秀语言必须具备的特性,而不是“加分项”。以下是Python与这四大潜在挑战者的较量。Python如何继续保持编程语言的优势呢?作为苹果最初为iOS开发设计的新兴语言,Swift已经开源并引起广泛关注来自服务器端开发者。用Swift写代码很舒服,它更像是一种脚本语言,而不是它的前身Objective-C的编译语言。Swift的决定性优势在于它的执行速度——它使用一个方法符合机器码编译的LLVM编译器框架,所以可以支持多线程,能力上超越Python。通过XcodeIDE提供了一个非常方便的“Playground”模式。Swift相对于Python来说还比较年轻,所以我们的老king在大众基础上显然更好。Swift目前无法在Windows平台上运行,因此在落地方面不如Python方便。GoGoogle创造的“直观、简洁、干净、高效”的语言得到了众多主流技术厂商的广泛支持。与Swift类似,Go也可以编译为平台原生的二进制代码,因此在某些任务上可以比Python运行得更快,并且可以在不设定目标的情况下完成跨平台开发。Go语言的编译速度也很好。从开发速度的角度来看,它更像是一种解释型语言而不是一种编译机制。尽管Go的历史比Swift稍微长一些,但它的社区基础仍然无法与Python相提并论。此外,Go的语法和错误处理方案可能对当前的Python用户并不友好。因此不适合已经掌握Python的程序员朋友。Pyinstaller等工具的出现,使得Python应用的绑定变得非常方便,更何况在大多数Linux系统中,Python运行时已经被设置为预设项目。Julia于2012年发布,Julia专为数据分析和线性代数计算等技术应用而设计。Python的一大类用例在于数学和科学应用程序,这在很大程度上要归功于Numpy和交互式IPython笔记本格式等库。Julia针对相同的用户群,但在核心速度上超过了Python。此外,它还提供越来越丰富的软件包资源,不仅可以实现数学和科学的应用,还可以像Python一样实现云环境中数据源的连接。尽管Julia发展很快,但Python开发者社区不会坐以待毙——围绕Python的核心语言和环境开发从未停止过。即使Python的运行速度不如Julia,您仍然可以使用合适的库获得合适的工作。此外,茱莉亚的反对者也不少。例如,与几乎所有现有语言不同,Julia的数组是从1开始索引而不是从0开始索引。R是一个包括语言和开发环境的统计计算项目。R与Python相比有几个优势,例如丰富的第三方软件生态系统。此外,R在设计时就考虑到了统计计算需求。虽然Python也很重视数学和统计处理,但是R在开发的过程中可以说是从上到下贯穿了两者。R也得到了很多大牌厂商的支持。微软进行了一系列收购,旨在使用R构建自己的云数据服务。HP开发了分布式R,它可以同时在多个节点上运行。随着相关技术成果的不断演进,R完全有可能在统计计算领域拉下Python。然而,有时,通用语言的优势值得强调。尽管R更具体,但它也更受限制——我们很难在R应用程序中实现交互性。此外,Python还可以更好地与其他语言对接,使用RPy2等软件包可以同时享受Python和R带来的便利。最后,虽然微软确实对R非常重视,但别忘了这家软件巨头也对Python伸出了援助之手,算计在Azure中运行。原标题:4种语言蓄势待发-PythonPython原文链接:http://www.infoworld.com/article/3088165/application-development/4-languages-poised-to-out-python-python.html
