对每一个希望设计软件的人员,都有必要阅读这本书。对那些在Windows下开发的程序员,理曼德(Raymond)的话可能刺耳,赖着性子吧,中国的程序员有哪一位不是从DOS、Windows下转过来的呢?
想当初DEC解体微软挖走了DEC公司那一帮操作系统大牛,这就有了WindowNT,有了Windows虚拟内存,直到现在WindowsXP也和NT
一脉相承。很少有人批评Windows的内核和API(Windows是符合POSIX)。但在软件用户接口设计,UNIX与Windows的一开始就沿
着两个截然相反的方向发展。UNIX崇尚命令行,崇尚对自己的操作负责,崇尚有计划、有条理的工作。Windows却认为用户可能粗心,用户可能根本就不
喜欢计算机,仅仅不得不学习计算机(多痛苦啊),好了,Windows告诉你“不用记什么命令,用鼠标点就行了”。一句话Windows统治了桌面。
我到觉得将这本书作为对Windows设计的反思可能更好,一个UNIX程序员很有可能已经按书中所讲在设计软件了,比如他可能将配置文件放在/etc/
下,并不是因为他很懂UNIX编程的艺术,他仅仅在按惯例做事。而Windows程序员,同样是按惯例,他将配置放在了注册表中,作为Windows程序
员他不是不知道注册表会膨胀,但他能打破惯例,在C盘建一个dot文件?
比打口水战更有意义可能是UNIX\Windows的相互学习吧,有容乃大。如果说UNIX\Windows的设计理念完全不同,无法融合,学习两种不同的思维方式对我们来说也不是个坏事,你说呢?
本文转自我的豆瓣书评:)