热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

美国之行巧遇Windows首席架构师DavidCutler畅聊实录(一)

美国之行巧遇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 个解决方案

#1


这是笑话还是报道啊?

我觉得业界大部分的观点是*nix服务器比windows稳定,为什么windows不稳定?因为太复杂,为了兼容,很多东西不能抛弃,就要曲线救国。而且我们也知道,一个东西设计的越复杂,那么可能出错的概率也越大,出了错误也越难定位。

凡事也不能说的太绝对化,不可能到处都简单,也不可能到处都复杂。但是基础建筑一定是简单可靠,高可重用的。我觉得计算机和数学那个不完备性根本没有可比性。

#2


我觉得也是笑话来着.
希尔伯特的把整个数学建立在几条简单的基本公理的目标其实是实现了的, 现在数学的基石都是由几条基本公理推演出来的.
当然完备性和一致性在包含算术系统的数学系统确实无法共存, 但是我们可以保留一直性, 而放弃完备性.
那些无法被证明的命题就让他无法证明好了, 我们只要用好能证明的命题就可以了.

#3


楼上不知道吧,安定医院最近围墙坏了,所以楼主出来了。

#4


什么意思,没看明白,楼主要给分????

#5


这个设计师说的还是很有道理的,综合上unix照windows的确差大有点远了,unix只倾向服务器工作而已

#6


简单0->复杂0->简单1->复杂1->简单2->复杂2->...
这是一个进化过程,每个阶段都有其存在的相对合理性,低层次的简单与高层次的复杂真的没有可比性。

#7


一千个人眼中有一千个哈姆雷特

#8


什么情况?

#9


该回复于2011-11-16 13:36:22被版主删除

#10


不像是外国人的口气。自己的观点直接亮出来,别曲里拐弯。

#11


众生平等,为什么一定要比较 蹉跎岁月

#12


阿弥陀佛。。。

#13


我管他什么设计,,,,只要能好用就行了!!!!!!!

#14


该回复于2011-11-23 10:09:17被版主删除

#15


我不相信一个设计操作系统的大师会这么评价另一个同样优秀的操作系统(看看linus是怎么评价windows好了),哪怕真的鄙视,装总会吧?“垃圾”这种词是不会出口的。本文99%是假的。

#16


这真的是大师说的话么?楼主是何许人,能见到David Cutler?
他可以真正的大神呀!

#17


该回复于2011-12-14 09:22:15被版主删除

#18


没看明白

推荐阅读
  • 创建项目:Visual Studio Online 入门指南
    本文介绍如何使用微软的 Visual Studio Online(VSO)创建和管理开发项目。作为一款基于云计算的开发平台,VSO 提供了丰富的工具和服务,简化了项目的配置和部署流程。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • 本文详细介绍了如何在 Windows 环境下使用 node-gyp 工具进行 Node.js 本地扩展的编译和配置,涵盖从环境搭建到代码实现的全过程。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
author-avatar
热带彩色鱼_918
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有