与 C/C++ 或 Java 相比,Python 等解释型语言通常速度较慢。Ubuntu 选择 Python 而不是 C/C++ 或 Java 等其他编程语言有什么科学依据吗?
我的目的不是给出一个主观的答案。我只想要事实。
PS 我不是程序员。我正在学习各种类型的编程语言,并且了解到这个缺点。所以,试着用外行人能理解的语言来回答。
答案1
Python 的可读性使得代码无障碍和可维护
开源环境中的志愿者需要能够轻松阅读代码:
- 它使得志愿者的加入更加容易。
- 这使得驱动贡献和补丁更有可能发生。
- 它使志愿者原型设计和测试变得更简单、更广泛。
问题遗漏了一个重要的警告:“Python 等解释型语言通常比 C/C++ 或 Java 慢 在某些任务上“”。
- 在执行某些任务时,它的速度也不会变慢。
- 由于人类的速度比编译或脚本软件慢得多,因此通常速度差异(如果有的话)与用户无关。
绝对没有什么可以阻止任何志愿者或团体使用另一个编译的代码重新实现大多数 Python 脚本,以利用该代码的优势;只是志愿者对此不太感兴趣。
答案2
Ubuntu 确实大量使用 Python(不仅是 Ubuntu,许多其他 Linux 发行版也使用它)。但说它不使用/依赖其他语言(例如 C/C++)是不正确的:明显的区别是用 C 编写的程序可以编译,然后不再需要编译器但它仍然需要 glibc,即 GNU C 运行时库。对于 Python 程序来说,“运行时库”就是解释器本身(某种程度上)。
但同时:是的,Python 程序通常比 C(Java,...)程序慢。但是:a)例如,当涉及网络通信或用户交互时,无需编写高度优化的程序,任何加速都会在其他地方丢失;b)您必须选择 - 您可以编写高度优化的程序,或者您可以编写极其可移植的程序,代码要短得多,因此开发速度更快,维护起来更容易。如果闪电般的速度不是您的首要任务,那么 Python 可能是一个绝佳的选择。
答案3
您说的“Ubuntu 选择 Python”是什么意思?Ubuntu 本身并不偏爱任何特定语言。它默认支持一些流行语言,例如 OpenJDK 中的 Java、GCC 中的 C++ 和 Python 3 解释器中的 Python。
开发人员在为特定任务选择语言时会考虑很多原因。速度并不总是最重要的。有时它与原型设计的简易性、可移植性、第三方扩展、流行度有关。Ubuntu 提供的工具允许用户解决他们的编程问题,而不管他们的优先级如何。