为什么python不能由许多人或在很长一段时间内构建和维护?

2024-06-16 13:41:59 发布

您现在位置:Python中文网/ 问答频道 /正文

下面的语句摘自John Guttag的《使用Python进行计算和编程的入门》

Python是一种可以有效使用的通用编程语言 构建几乎任何一种不需要直接访问 计算机硬件。Python并不是具有高性能的程序的最佳选择 可靠性约束(由于其静态语义检查较弱)或 由许多人或在很长一段时间内建造和维护(再次 因为静态语义检查较弱)。

粗体的句子似乎很模糊,有人能提供好的解释或例子吗


Tags: 程序编程语义静态高性能语句john编程语言
1条回答
网友
1楼 · 发布于 2024-06-16 13:41:59

Python使用dynamic typing。也就是说,您只能在运行时确定地知道对象的类型

这样做的结果是,要知道一段代码使用了正确的数据类型,唯一的方法就是运行它。因此,测试变得非常重要。但是测试程序中的所有代码路径可能需要很长时间

当许多人在一个程序上工作很长时间时,问题就更加严重了,因为很难让开发人员编写文档和构建一致的接口,所以最终只有有限的人知道应该使用什么类型,每个人都会花费大量时间等待测试的运行

不过,作者的观点过于悲观。许多公司拥有大型Python代码库,并且能够通过拥有广泛且昂贵的测试套件和oncall快速响应团队来实现这一点

例如,Facebook有hundreds of millions行代码of which 21%是Python(截至2016年)。有了这种预先存在的投资水平,在短期内,开发使Python更安全的方法要比将代码迁移到新语言(如Julia或Rust)便宜得多

我们可以在生态系统中看到这一点

通过引入type annotations对Python进行了修改以解决类型问题。虽然它们在运行时不强制执行,但它们提供了类型安全性的快速(实时)检查,这大大减少了对测试的依赖,并可用于使用Pyremypy等工具强制执行接口。这使得拥有作者所讨论的那种大型Python代码库更易于管理

相关问题 更多 >