Python 犯错的频率是多少?

How often will Python make a mistake?

我最近对 ​​运行 一个代码感到惊讶,该代码需要几个小时才能 运行 处理许多进程,并且每次都得到完全相同的数值结果。可能是我把电脑拟人化了,但好像很厉害

错误是指程序的结果不是基于初始条件和语言规则应有的结果。这必须是由 运行dom 错误引起的,可能是宇宙辐射噪声或其他原因。我说的是 2+2=5,而不是人在写糟糕的代码。如果你再次 运行 它,使用相同的代码和初始条件,它会给出正确的结果(假设错误不太可能但并非不可能)。

我知道这种事情在计算机中是可能的 (How often do computers make mistakes?),但听起来不太可能。那么 Python 本身是否内置了某种冗余,或者是在更深层次上内置了冗余?在您期望一个不正确之前可以完成多少次浮点运算?

奖金:其他语言呢?在这个意义上,是否有一些比其他的更可靠?

计算机语言不必担心这个不太可能出现的问题(CPU 中的位会被某些外力随机更改)。其他形式的错误也不属于应用程序的责任范围,例如,更可能损坏的网络数据通常在协议中进行内部检查以检测错误(例如校验和)。一些存储也是如此。

在这真正重要的罕见环境中(space 车辆是我所知道的主要车辆)他们有冗余应用程序 运行 并比较两者的结果以查看它们是否匹配。

所以在回答你的问题时,这类问题不是语言所关心的,它们要么在较低级别处理(网络数据包校验和等...),要么在较高级别(冗余)处理。一般来说,这类问题只在极少数情况下才会担心,例如 space 车辆、核电等...