Python是世界上发展最快的编程语言。今年的Stack Overflow调查结果显示,Python增长的速度如此之快,它是一种可访问且功能强大的语言,足以解决从统计到构建API等各个领域的问题。那么Python的未来是怎样的?它将如何发展以满足不断增长的工程师和分析师群体的需求?
Python将衍生出其他更专业的语言
Steve Holden,全球压力指数首席技术官,前PSF主席兼董事 :
我不确定语言的发展方向。在我看来,Python现在处于足够复杂的阶段。Python并没有像我认为的Java环境那样膨胀。在那个成熟的层次上,我认为Python的思想更有可能衍生出其他的,也许更专业的,针对特定应用领域的语言。我不希望所有程序员都使用Python,语言的选择应以实用为依据。
我从来都不是一个推动变革的人。足够多的聪明人已经在考虑这个问题了。因此,当我认为事情变得有点太深奥时,我通常会潜伏在Python-Dev上,偶尔从消费者的角度插入一个观点。
Python社区的需求将影响语言未来的发展方向
Carol Willing,Python基金会前任主任,CPython核心开发人员,Project Jupyter研究软件工程师:
我想我们将继续看到Python的科学编程部分的增长。因此,支持Python作为语言和异步稳定性的性能将继续发展。除此之外,我认为Python是一种非常强大而可靠的语言。即使你今天停止开发,Python也是一种非常好的语言。Python社区的需求将反馈到Python并影响语言的发展方向。移动开发长期以来一直是Python的致命弱点。我希望BeeWare的一些东西可以帮助进行交叉编译。但如果有需要,Python可以帮你解决。
我认为这种语言将继续朝着Python 3的方向发展。一些大的代码库,比如Instagram,现在已经从Python 2转换为3,虽然有很多Python 2.7代码仍在生产中,但有很大的进步,由Instagram共同完成,他们在PyCon 2017主题演讲中分享了这些内容。
围绕Python 3和测试工具的越来越多,公司将一些遗留代码迁移到Python 3的风险较小,因为它具有商业意义。它会因公司而异,但在某些时候,业务需求(如安全性和可维护性)将开始推动向Python 3的更大迁移。如果您要开始一个新项目,那么Python 3是最佳选择。新项目,特别是在查看微服务和人工智能时,将进一步推动人们使用Python 3。
构建大型Python代码库的组织正在采用类型注释来帮助新开发人员
Barry Warsaw,LinkedIn的Python基金会团队成员,GNU Mailman的前项目负责人:
在某些方面,很难预测Python的发展方向。我已经参与Python已有23年了,而且我无法在1994年预测到今天的计算世界会是什么样子。
我关注的是手机、物联网设备,以及今天计算的整个图景,包括云等。所以即使是5年后,也没有真正的方法来预测Python会是什么样子。
我确实认为Python的未来仍然很光明,但是我认为Python,尤其是CPython,它是用C语言实现Python的,有很多挑战,任何存在了这么久的语言都将面临一些挑战。Python是在90年代被发明出来解决问题的,现在的计算世界已经不同了,而且还将变得更加不同。Python面临的挑战包括性能和多核或多线程应用程序。肯定有人在从事这方面的工作,Python的其他实现可能会像PyPy、Jython或IronPython一样涌现出来。
除了各种实现所面临的挑战之外,Python作为一种语言还有一个优势,那就是它可以随着人类的规模扩展。例如,您可以让一个人在他们的笔记本上编写一些脚本来解决他们遇到的特定问题,Python也可以扩展到一个小型开源项目,可能有10或15人参与。Python可以扩展到数百名从事大型项目的人员,或者数千名从事大型软件项目的人员。
Python作为一种语言的另一个惊人的优势在于,新的开发人员可以轻松地进入,轻松的学习并快速提高工作效率。他们可以为他们以前从未见过的项目提取全新的Python源代码,深入学习并轻松快速地掌握它。随着Python在人类尺度上的扩展存在一些挑战,我觉得这些问题正在通过类型注释来解决。
在非常大的Python项目中,包含初级开发人员和高级开发人员,初级开发人员要理解如何使用现有库或应用程序可能需要花费大量的精力,因为它们来自一种更静态类型的语言,因此,许多正在构建大型Python代码库的组织都采用了类型注释,这可能不是为了提高应用程序的性能,而是为了帮助新开发人员入门。我认为这对于帮助Python在人类规模上继续扩展大有帮助。
对我来说,Python语言的扩展能力和Python社区的友好特性是使Python即使在23年后仍然具有吸引力的两个因素。如果我们解决了其中一些技术上的限制,这些是完全可以做到的,那么我们实际上是在为Python未来20年的成功和发展做准备。