很多报刊上的文章都说:这是因为比尔有商业头脑,商业定位比较成功,抄了人家很多东东,云云。但我觉得除了这些,一定还有其更深的技术上的原因。其实这涉及到一个根本性的问题:计算机是什么?每一个操作系统的总设计师都必须首先严肃而认真地回答这个问题。
UNIX的设计者回答说:计算机嘛,就是工具啦。上网传递信息的工具,可作文件服务器,打印服务器,科学计算等。于是乎,UNIX呈现在用户面前的是各种函数调用式的命令,这些充分体现了计算机是工具这一思想。Windows的设计者回答说:计算机嘛,就是仿真真实世界的(这我在前面提过),而不再是什么工具之说。
真实世界是由一个个对象组成的(107种原子),如太阳,人,星星。既然真实世界是由一个个对象组成的,那么计算机世界也应该以这种方式组织一切。于是乎,Win98中的“我的电脑”是计算机世界中最大的对象,相当于真实世界中的宇宙。计算机中的一切,硬件、软件均包含在"我的电脑"这个大对象之中了,就像万事万物都包含在宇宙之中一样。我认为这是Windows比UNIX流行的重要原因。它漂亮地回答了什么是计算机?并以一种面向对象的观点把操作系统的功能呈现在用户面前。芸芸众生都是用面向对象的观点观察、感知世界的,于是Windows风行于世。
有人和我辩论,说有X Windows,UNIX也是面向对象的。UNIX下把什么都看成文件,包括硬件,的确技术上很成功,但计算机和物理研究不同。爱因斯坦搞统一场论,越统一越好。计算机不一样,它是面向大众的,不是越统一越好,而是越接近真实世界越好,机器上有只硬盘挂上去,那么操作系统就生成一个“D:对象”,直观而不是莫名其妙地设备文件。我是说,Unix技术太抽象,太统一,非大众所能轻易理解,故不流行,应该往回走一点。Do you think so?
X Windows为什么比不上Windows。回答如下问题:如你是操作系统设计师应考虑哪些问题?你当然会说要管理硬件/软件资源,功能嘛多多的。我认为要考虑两点:(1)功能。(2)人机界面众所周知,UNIX功能强大,界面不好?为什么不好?没有很好地回答什么是计算机?此其一。其二操作系统的初始设计阶段光考虑功能,而没考虑界面。X Windows是附加上去的,和内核的关系不是天然的。Windows初始设计阶段功能和界面同时综合考虑,窗口和内核是浑然一体的。XWindows不如Windows,此之故也。Linux要打败Windows,要有总设计师在初始设计阶段综合考虑功能和界面,划分清模块。做到这一点,Windows就完了。对了,你看操作系统是否像女孩子啊,你想娶漂亮女孩子呢,用Windows吧,若想娶聪明女孩子呢,用UNIX吧,若想娶聪明&漂亮女孩子呢,用N年后的Linux吧,当然,足够的耐心是必须的