当我在这里谈论停止问题时,听起来不终止是要避免的事情,并且停止问题使得无法知道程序/算法是否良好。
但是当我想到它时,终止程序不是例外而不是规则吗?我可以想到一类预计会在有限时间内终止的应用程序:编译器。其他一切,从我正在使用的网络浏览器,到桌面环境,到文本编辑器,到外壳,再到托管 SO 的服务器,再到操作系统本身,都不应该自行终止。哎呀,即使是包管理器也应该要求用户确认。除非用户或系统管理员另有说明,否则它们都打算无限期地运行。
我的观点是,它真的很糟糕,以至于你无法证明某事会终止吗?如果有的话,证明某些东西会在有限的时间内退出将更像是一个错误而不是相反。