热门标签 | 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


没看明白

推荐阅读
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • Python数据分析入门指南:全面了解Python在数据科学中的应用 ... [详细]
  • PyQt5 QTextEdit:深入解析Python中多功能GUI库的应用与实现
    本文详细探讨了 PyQt5 中 QTextEdit 组件在 Python 多功能 GUI 库中的应用与实现。PyQt5 是 Qt 框架的 Python 绑定,提供了超过 620 个类和 6000 个函数及方法,广泛应用于跨平台应用程序开发。QTextEdit 作为其中的重要组件,支持丰富的文本编辑功能,如富文本格式、文本高亮和自定义样式等。PyQt5 的流行性不仅在于其强大的功能,还在于其易用性和灵活性,使其成为开发复杂用户界面的理想选择。 ... [详细]
  • 手机上编写和运行PHP代码的最佳软件推荐 ... [详细]
  • 如何撰写PHP电商项目的实战经验? ... [详细]
  • 在处理多个玩家的相机控制时,我遇到了一个挑战,即无法在运行时动态添加播放器子对象以转换数组类型。为了解决这个问题,我在 `CameraControl.cs` 脚本中采取了临时措施。该脚本负责根据玩家的数量动态调整相机的缩放范围,确保所有玩家都能被相机捕捉到。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
  • 在 Linux 系统中,`/proc` 目录实现了一种特殊的文件系统,称为 proc 文件系统。与传统的文件系统不同,proc 文件系统主要用于提供内核和进程信息的动态视图,通过文件和目录的形式呈现。这些信息包括系统状态、进程细节以及各种内核参数,为系统管理员和开发者提供了强大的诊断和调试工具。此外,proc 文件系统还支持实时读取和修改某些内核参数,增强了系统的灵活性和可配置性。 ... [详细]
  • 深入解析:RKHunter与AIDE在入侵检测中的应用与优势
    本文深入探讨了RKHunter与AIDE在入侵检测领域的应用及其独特优势。通过对比分析,详细阐述了这两种工具在系统完整性验证、恶意软件检测及日志文件监控等方面的技术特点和实际效果,为安全管理人员提供了有效的防护策略建议。 ... [详细]
  • 本文深入探讨了IO复用技术的原理与实现,重点分析了其在解决C10K问题中的关键作用。IO复用技术允许单个进程同时管理多个IO对象,如文件、套接字和管道等,通过系统调用如`select`、`poll`和`epoll`,高效地处理大量并发连接。文章详细介绍了这些技术的工作机制,并结合实际案例,展示了它们在高并发场景下的应用效果。 ... [详细]
  • 在MFC开发过程中,利用Windows内置的文件对话框可以显著提高文件操作的效率。本文总结了使用文件对话框进行文件选择和处理的经验,详细介绍了相关API的调用方法和参数设置,如`CFileDialog`类的使用、结构体`OPENFILENAME`的配置以及如何获取选中的文件路径。通过这些技巧,开发者可以快速实现文件的打开、保存等功能,提升应用程序的用户体验。 ... [详细]
  • 在Linux系统中,MySQL的用户权限管理是运维人员必须掌握的关键技能之一。本文详细介绍了MySQL用户和权限管理的相关概念,包括MySQL用户的概念及其与VSFTPD虚拟用户的相似性,以及密码管理的重要性。此外,还深入探讨了如何通过命令行工具和配置文件进行用户权限的设置和调整,确保系统的安全性和稳定性。 ... [详细]
  • Python正则表达式详解:掌握数量词用法轻松上手
    Python正则表达式详解:掌握数量词用法轻松上手 ... [详细]
  • 在Java应用中实现只读模式的切换方法与技巧 ... [详细]
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社区 版权所有