丹尼斯•里奇对人类的贡献,被大大低估。此时此刻,全世界几十亿人正在使用的几百亿件电子产品,里面的软件最终均可以追溯到他的智力贡献。html
==========================================linux
保持简单(Keep it simple)----记念丹尼斯•里奇(Dennis Ritchie)android
做者:阮一峰ios
1954年,电气工程师阿利斯泰尔•里奇(Alistair E. Ritchie),决定举家从纽约州的布朗克斯维尔(Bronxville),搬到几十千米之外的新泽西。这样能够离他的工做单位"贝尔实验室"更近一些。git
13岁的丹尼斯•里奇(Dennis Ritchie),就这样随着父亲一块儿来到新泽西。那时,谁也没有想到,这个文静的少年将在这里待上一生,而且创造出改变世界的发明。程序员
中学毕业后,丹尼斯•里奇遵从父亲的建议,进入哈佛大学学习应用数学,直到拿到博士学位。他的第一份工做,是为军方研制核武器,这并不符合他的志趣。1967年,经过父亲介绍,26岁的他进入贝尔实验室,从事刚刚兴起的计算机研究。今后,他在新泽西老家一住就是44年,直到去世。web
他在贝尔实验室的第一个任务,是参与大项目Multics,即开发一个史无前例的、能够多人使用的、同时运行多个程序的操做系统。该项目由贝尔实验室、麻省理工学院和通用电气公司三方联合研制,可是因为设计过于复杂,迟迟拿不出成果,1969年贝尔实验室宣布退出。shell
第一个任务这样无果而终,丹尼斯•里奇很不甘,但也无能为力。谁知过完了夏天,比他小两岁的同事肯•汤普森(Ken Thompson)找上门,说借鉴Multics的设计思路,作了一个我的项目Unix,问他有没有兴趣一块儿参与。丹尼斯•里奇马上表示赞成,因而两人一块儿投入Unix的开发。肯•汤普森的专业是电子工程,丹尼斯•里奇专业是应用数学,正好互补。通过日以继夜的工做,1969年圣诞节前,Unix已经能够初步运行了。数据库
吸收了Multics设计复杂而致使失败的教训,丹尼斯•里奇将Unix的设计原则定为"保持简单和直接"(Keep it simple stupid),也就是后来著名的KISS原则。为了作到这一点,Unix由许多小程序组成,每一个小程序只能完成一个功能,任何复杂的操做都必须分解成一些基本步骤,由这些小程序逐一完成,再组合起来获得最终结果。编程
表面上看,这样的设计很低效:为了取得结果,你必须运行一连串小程序,那么为何不用一个大程序一次运行就获得结果呢?可是事实证实,因为小程序之间能够像积木同样自由组合,因此很是灵活,可以轻易完成大量意想不到的任务。并且,计算机硬件的升级速度很是快,因此性能也不是一个问题。另外一方面,开发单一目的的小程序,要比开发大型程序容易得多,因此Unix才有可能在短短几个月内问世。
Unix迅速在程序员中流传,到了80年代,已经成为主流操做系统,演变成整个软件工业的基础,当代最主要的操做系统----Windows、MacOS和Linux----都与Unix有关。因而可知,丹尼斯•里奇的"保持简单"原则,对计算机时代的影响有多大。
丹尼斯•里奇对世界的贡献还不止于此。Unix最先是用不通用的机器语言编写的,若是换一个型号的计算机,就必须从新编写一遍。为了提升通用性和开发效率,丹尼斯•里奇决定发明一种新的计算机语言----C语言。
C语言也贯彻了"保持简单"的原则,语法很是简洁,对使用者的限制不多。丹尼斯•里奇编写的教材《C编程语言》总共只有100多页,薄得难以置信。不少人都被它的简洁性吸引,学习并使用C语言。直到今天,C语言依然是世界上最重要的编程语言之一,"保持简单"原则显示了强大的生命力。
发明Unix和C语言,给丹尼斯•里奇带来巨大的荣誉,他获得了1983年的图灵奖、1990年的汉明奖、1999年的美国国家技术奖章。尽管功成名就,可是就像他的工程设计思想,丹尼斯•里奇在我的生活上也尽可能"保持简单"。他依然住在新泽西,低调地生活,不太在媒体上曝光,终身没有结婚。
他也始终没有跳槽,一直在贝尔实验室工做,尽管后者屡次分拆,到了最后已经名不副实。2001年,接手贝尔实验室的朗讯公司,决定关闭大多数实验室,许多研究人员纷纷离开,包括Unix发明者之一的肯•汤普森都去了Google,可是丹尼斯•里奇哪里也没去,仍是留了下来。2006年12月1日,贝尔实验室被总体卖给了法国阿尔卡特公司,第二年他就选择退休了。
退休之后,他过上了隐居生活,外界几乎忘了他的存在。2011年10月12日,共事20年的同事Rob Pike从加州到新泽西去拜访他,才发现他已经去世了。因为是独居,没法知道准确的死亡时间。据他的兄弟透露,这几年丹尼斯•里奇的健康情况一直很差,他患有前列腺癌和心脏病。
Rob Pike在Google Plus发了一条简短的消息,"据我所知,Unix和C语言发明人丹尼斯•里奇已经去世",外界才知道这件事,引起了记念浪潮。虽然这个过程有点使人伤感,可是必须说,这很符合他的"保持简单"的原则。