Python 可能不久就要消失了
共 2623字,需浏览 6分钟
·
2021-10-23 15:53
在过去的几年中,Python 一直是许多开发人员最喜欢的编程语言之一,因为它惊人的能力使得我们能够搞定许多开发工作,包括:
全栈开发 数据科学领域 机器学习、深度学习 其他...
它具有许多功能丰富的库,这使得开发变得非常容易。
真实的事实:但 Python 存在的一个主要问题可能会导致这种流行语言的死亡。这可能不会在短期内(在一两年内)发生,但它不可避免地会在十年内发生。
Python 的主要问题
Python 很慢!其他开源的编程语言作为竞争者相比 Python 越来越流行......唯一的原因是那些编程语言非常快。
那么,是什么让 Python 这么慢?
解释型语言:与 C/C++ 等机器语言(本地语言)不同,Python 代码得边运行边解释,而不是在编译时编译为机器码。 即时编译器(JIT):其他解释型语言(例如 Java/.NET 字节码)比 Python 运行得更快,因为它们的标准发布版本包含一个 JIT 编译器,可以在运行时将字节码转换为机器码。 全局解释锁(GIL):它通过强制解释器一次仅在单个线程(例如 Python 解释器的一个实例)内执行来避免多线程问题。
Python 另外的问题
当前全球趋势倾向于移动设备开发,移动设备的使用人数更多,这是因为许多活动都会涉及智能手机,例如在线购物、机票预定、社交网络、在线银行等。因此,在 “移动” 领域是 Python 落后的地方,我们可以使用 Python 创建桌面和 Web 应用,但不能开发移动应用。
移动领域的缺席可能会给 Python 造成严重影响,因为它的竞争者可用于台式机、网络和移动开发。
可取代 Python 的主要竞争对手
Julia:这是一种开源的语言,社区也在迅速发展。它可以替代 Python 在数据科学、深度学习和机器学习领域中的地位,因为从速度方面来说,Julia 是一种了不起的语言,Julia 程序可以通过 LLVM 编译为多个平台上的机器码。现在 Julia 唯一的问题是它没有 Python 一样的生态(软件包/库),所以仍然有很多人在使用 Python,但相关软件包/库也在增长,因此在未来几年中 Julia 可能会成为 Python 非常大的竞争对手 Golang:此语言由 Google 提供支持,其编写的代码易学易维护。根据 stackoverflow 调查,Go 程序员是收入最高的程序员之一,支持 Web、桌面、移动应用开发。 Rust:这是一种兼具安全、并发、实用的语言。Rust 是一种系统编程语言,结合了强大的编译时确定性和高速性能两大优点。根据 stackoverflow 调查,它也是最受欢迎的编程语言。Rust 也支持 Web、桌面和移动应用程序开发。
总结
这可能要花一定的时间,但未来不可避免地会被其他有价值的竞争对手取代。不过 Python 可能会继续在测试和自动化系统中作为脚本语言使用。
翻译自:Python may die soon …,原文作者:Pawan Kishor Singh.
提示,本文只是作者的观点,相关话题也引起一些争议,正如 Angel Gruevski 所说:
Java may die soon, C++ may die soon, Kotlin will replace Java, native mobile apps will be replaced by React, the list goes on and on.
I appreciate your effort by analysing Python and comparing it with other languages, but honestly Python is here to stay for a lot more years, and is nowhere near to be replaced by another language.
Each language has its pros and cons, one of the biggest pros of Python is its huge number of libraries and a big number of developers who use the language. Companies do not switch their whole infrastructure when new languages pops up just because it is faster or easier, because they will need to invest quite a lot of money and finding developers that know Golang, Rust or Julia is a lot harder compared to developers who know Python.
As mentioned above, I respect your opinion, but I am seeing an increased number of blog posts about languages that will die, while at the same time promoting new languages that are barely used in the real world, which motivated me to write this reply.
每种语言都有其优缺点,Python 最大的优点就是其生态系统,丰富的库,商业公司不会因为速度或者易用程度切换整体基础设施。
也有另一位读者指出:Python 也许很慢,但是相关的库不会,比如 NumPy,Python 的 list 对比 Java 的 ArrayList 非常慢,但是 NumPy 的 array 比大多数编程语言的 List 类结构都快。同时这门语言也在发展迭代中。