作者:热带彩色鱼_918 | 来源:互联网 | 2023-05-18 21:05
美国之行巧遇Windows首席架构师DavidCutler畅聊实录(一)美国之行巧遇Windows首席架构师DavidCutler,作为来自中国大陆的软件工程师,与这位当世天神级别的大宗师
美国之行巧遇Windows首席架构师David Cutler畅聊实录(一)
美国之行巧遇Windows首席架构师David Cutler,作为来自中国大陆的软件工程师,与这位当世天神级别的大宗师相遇,话当然少不了啦。
笔者:总有很多人用UNIX KISS设计哲学批判WINDOWS的集成特性,请问您怎么看待这个事情呢?从来没有见到您发表过什么看法哦。我猜您一定有您的原因吧,想听您是怎么看待UNIX KISS设计哲学的,(KISS=Keep it Stupid and Simple 几个简单的小程序,排列组合,便解决了很复杂的问题。)
David Cutler:哦,孩子,很多人都向我鼓吹Ken Thompson和Dennis Ritchie 的那一套,说Windows为什么不象UNIX那样设计呢?其实,我看计算机界多是一群低能动物缺乏人类的心智,上个世纪初,同样的问题发生在了数学界,最后哥德尔卓越的证明了希尔伯特是错误的,其实也就是UNIX KISS设计哲学是错误的,可是一直到今天计算机界却还推崇着UNIX的那一套错误的哲学。
你知道,欧几里德几何学,几条简单的基本公理,排列组合,推导出整个几何学体系,这一套严密精确的推理系统,数学家希尔伯特非常欣赏,上个世纪初的数学家大会上他说“我们必须知道,我们必将知道”,号召世界上的数学家把整个数学体系都形式化,将整个数学体系严格公理化,要把整个数学建立在几条几条简单的基本公理上,然后用机器逻辑排列组合,推导出所有的数学定理,在当时这是一个非常美妙的梦想。但是后来,哥德尔的出现,彻底粉碎了希尔伯特的计划。哥德尔证明的“哥德尔不完备性定理”,是人类认识到的宇宙最深邃的真理,对于任意包含算术系统的数学系统,如果这个系统不是自相矛盾的,那么一定存在无穷多的定理,它们是真的,却无法证明,超出了该数学系统判定的极限能力。一致性和完备性,假定数学不是自相矛盾的话,我们就必须承认数学是不完备的,也就是说有这么一些数学命题是不可判定的:我们既不能证明它们为真,也不能证明它们为假。包括一些很普通的事情,比如连续统假设,比如哥德巴赫猜想,我知道你们中国很多人都想证明它,其实,这是一个不可判定命题,任何人如果宣称他证明了哥德巴赫猜想,那么他的证明就一定是错误的。数论中很多命题都超出了数学证明的极限能力,甚至一些是不能判定是不是能判定的,甚至不能判定它是不是不能判定是不是能判定的。也就是说,把整个数学建立在几个公理排列组合的逻辑推理体系上是一个错误的想法。有无穷多的数学定理是不能通过逻辑推理证明的。
那么,UNIX,把人类要做的事情建立在几个基本程序排列组合数据流推理的体系上,不一样的吗,这根本不可能!有无数的事情,都不能这样做。UNIX KISS设计哲学其实是一种极端错误的设计哲学。
希尔伯特的想法被后来人称作是独裁者的思想,金字塔尖上的几个公理当皇帝统治压迫着层层的定理,UNIX KISS设计哲学其实就是希尔伯特想法的翻版而已。我当年还在上学时就写文章批判过这种设计哲学,但是一直到现在,这种哲学还是这样流行。
只有不复杂的问题能化繁为简,真正复杂的问题,是不能化繁为简的,这样的怎么办?整体不可拆分为部分,面对这样的东西,怎么办?VMS是我早年主持设计的OS,里边几个关键处的代码,没有规律,不能复用,但是却真正的解决了问题。面对怪物般的问题,有时候,就是需要怪物般的代码。
当然,局限于计算机的实质,任何操作系统,从指令上讲,都是那几条CPU指令的排列组合,从最终能力上讲,任何操作系统都没有差别,但是它们的设计理念却对实际做的事情有至关重要的影响。
其实VMS/WINDOWS是远远比UNIX更先进的设计理念,最终集成起来的软件,能让用户比用UNIX那几条命令的排列组合干更多的事情。但是这个世界上,优秀的往往被人们所抛弃,垃圾思想垃圾哲学堆砌出的UNIX却被大量的应用在服务器上。我有时候就想不明白,UNIX的希尔伯特独裁逻辑哲学为什么被那么多人接受呢?世界上太多的人奴性太强了。
笔者:据说VMS是最稳定的操作系统?有连续开机10年不死机的,而UNIX/LINUX没有能超过2年的。稳定性的差别是否就是源于这种设计理念的问题?
David Cutler:是的,UNIX从来没有正视过系统中的不稳定因素,总是通过化繁为简的方式躲避开,很多问题是根本不能这样解决的,而UNIX从来不想着真正的解决。UNIX是一个非常落后的垃圾系统,但是人类社会,却常常是这样的垃圾系统大行其道,甚至统治了真正的文明世界。
笔者:关于软件集成和多程序分治组合,在我们中国有个叫王垠的清华学生,说VISUAL STUDIO 一个 IDE 集成了编辑器,编译器,汇编器,调试器,跟踪器…… 这个编辑器功能肯定比不上 VIM 或 Emacs,编译器比不上 GCC,汇编器比不上 as,调试器比不上 gdb, ddd, 跟踪器比不上 strace, ltrace, truss……我说,那我想“调试时编辑并继续”呢?
David Cutler:整体并不是部分的组合,整体的功能大于个体功能的和。所以软件集成优于软件组合的解决方案。
笔者:我很早就也感觉到,WINDOWS其实确实是一种比UNIX更先进的设计理念,但是,为什么您不把这些早些时候公诸于众呢?
David Cutler:你可能没有感觉,美国其实是一个最专制最独裁的国度,是美国政府不让我说这些。哥德尔当年在爱因斯坦的陪同下移民美国时,要学习美国法律,哥德尔经过仔细分析,发现了美国法律不完全性,有一个漏洞,会让美国逐步加速走向独裁,他跟移民法官说了,但是后来却被政府禁止发表这个言论,一直到今天我们也不知道那个漏洞是什么,那么我们有理由相信,哥德尔的预言已经成真了。
18 个解决方案
这是笑话还是报道啊?
我觉得业界大部分的观点是*nix服务器比windows稳定,为什么windows不稳定?因为太复杂,为了兼容,很多东西不能抛弃,就要曲线救国。而且我们也知道,一个东西设计的越复杂,那么可能出错的概率也越大,出了错误也越难定位。
凡事也不能说的太绝对化,不可能到处都简单,也不可能到处都复杂。但是基础建筑一定是简单可靠,高可重用的。我觉得计算机和数学那个不完备性根本没有可比性。
我觉得也是笑话来着.
希尔伯特的把整个数学建立在几条简单的基本公理的目标其实是实现了的, 现在数学的基石都是由几条基本公理推演出来的.
当然完备性和一致性在包含算术系统的数学系统确实无法共存, 但是我们可以保留一直性, 而放弃完备性.
那些无法被证明的命题就让他无法证明好了, 我们只要用好能证明的命题就可以了.
楼上不知道吧,安定医院最近围墙坏了,所以楼主出来了。
这个设计师说的还是很有道理的,综合上unix照windows的确差大有点远了,unix只倾向服务器工作而已
简单0->复杂0->简单1->复杂1->简单2->复杂2->...
这是一个进化过程,每个阶段都有其存在的相对合理性,低层次的简单与高层次的复杂真的没有可比性。
不像是外国人的口气。自己的观点直接亮出来,别曲里拐弯。
我管他什么设计,,,,只要能好用就行了!!!!!!!
我不相信一个设计操作系统的大师会这么评价另一个同样优秀的操作系统(看看linus是怎么评价windows好了),哪怕真的鄙视,装总会吧?“垃圾”这种词是不会出口的。本文99%是假的。
这真的是大师说的话么?楼主是何许人,能见到David Cutler?
他可以真正的大神呀!