人物传记
首页 » 人物 » Douglas McIlroy

Douglas McIlroy平生

Douglas McIlroy(1932-),著名计算机科学家,美国工程院院士, 现为达特茅斯学院(DartMouth)兼职教授(Adjunct Professor)。 Douglas的常见中文翻译是“道格拉斯”。

Douglas McIlroy是我个人最尊崇和喜爱的计算机大师。 我四处收集关于他的言论和代码。

言论

Douglas McIlroy年轻时的照片

The key to performance is elegance, not battalions of special cases. The terrible temptation to tweak should be resisted unless the payoff is really noticeable. — Jon Bently and M. Douglas McIlroy

让每个程序就做好一件事。如果有新任务,就重新开始,不要往源程序中加入新功能而搞得复杂。

假定每个程序的输出都会成为另一个程序的输入,哪怕那个程序还是未知的。输出中不要有无关的信息干扰。避免使用严格的分栏格式和二进制格式输入。不要坚持使用交互式输入。

尽可能早地将设计和编译的软件投入使用,那么是操作系统也不例外,理想情况下,应该是在几星期内。对拙劣的代码别犹豫,扔掉重写。

有限使用工具而不是拙劣的帮助来减轻编程任务的负担。工欲善其事,必先利其器。

Unix哲学是这样的:一个程序只做一件事,并做好。程序要能协作。程序要能处理文本流,因为这是最通用的接口。

Linux给出“因为没安装对应的软件,所以打不开文件”这种Mac式诊断之时,就是Linux不再是Unix之日。

代码

Doug McIlroy合作实现的后缀树源代码

关于Douglas McIlroy的评价

Douglas McIlroy受到整个业界的高度尊敬。在我看过的计算机书籍中, 大多都会或多或少的提到“特别是Doug McIlroy...”这样的词汇。

Eric S. Raymond《Unix编程艺术》

特别是Doug McIlroy,给与本书恪尽职责、鞭辟入里的评注的同时,也展现了他早在30年前管理最原始的Unix研究组时鞠躬尽瘁的高风亮节。

Bjarne Stroustrup《C++语言的设计和演化》

特别是Douglas McIlroy。Doug对于C和C++开发的影响无论怎么估计也不会过分。

Jon Bentley《编程珠玑 2/e》提到了Doug McIlroy解决数组循环移位的翻手例子,非常鲜活。

分享

0