第2693页

这种语言理论上不会有因为编程语言设计上的问题而导致的恶性bug,而只会有编程员理解错了设计意图,分析错了设计需求而导致的良性bug。

可说真的,你听说过可以号称“永不出错”的语言吗?

你的s没有蓝过屏?你的安卓没有死过机?

世间的万事万物都是有代价的,强规范化类型语言,真的不是一般人能玩的。

没有了图灵完备之后,要写类似于循环执行的东西也不是完全不能写,但是就要成为人力驱动的执行分支预测器。

用心算为基石。一条条地预测推理每个逻辑分支,每个迭代的变化。

而强规范化类型系统本身的框框,也让当时的编程员陷入了活体编译器的泥潭。

真有这种智力水平的人才,又怎么会甘心一辈子当人力编译器不停的造轮子做这种苦累重的循环工作?

而且高智商的人才,是会更加喜欢自由度更大的语言的。

因此除了军用环境这种家国情怀驱动的地方,和航空航天这种为了安全不惜一切代价的场景,才会用上这种语言。

也就是到了今天脑力资源过剩,科研民工甚至是科研房奴已经不新鲜的时代,才会有“将区块链智能合约用可信编程保护起来”这种生意可做。

而图灵完备的,带有循环的编程结构,更加符合人类的使用习惯,并且赋予当时的计算机科学前沿人士发挥想象力的自由度,并且最重要的,降低了编程人员准入的门槛,给编程工韭菜养殖打下良好基础。

这就是早期的工业编程语言了。背好你自己搞出来的那一大堆指针和参数的类型,推算好类型的转换和指针的回收,就不会出事。

在强类型的基础上,将程序员推导类型参数的变化过程,类型推导,交给编程语言的编译器去做的话,就是弱类型了。

而如果进一步将垃圾回收和指针回收都丢给解释器或虚拟机,就从静态语言变成了动态语言。

将这些类型不安全的语言和类型论再杂交一下,就得到了错误捕获。