大师去世以后,财新网约我写一篇纪念文章。
现在文章已经发表了,我可以把原稿贴出来了。
丹尼斯•里奇对人类的贡献,被大大低估。此时此刻,全世界几十亿人正在使用的几百亿件电子产品,里面的软件最终都可以追溯到他的智力贡献。
==========================================
保持简单(Keep it simple)----纪念丹尼斯•里奇(Dennis Ritchie)
作者:阮一峰
1954年,电气工程师阿利斯泰尔•里奇(Alistair E. Ritchie),决定举家从纽约州的布朗克斯维尔(Bronxville),搬到几十公里以外的新泽西。这样可以离他的工作单位"贝尔实验室"更近一些。
13岁的丹尼斯•里奇(Dennis Ritchie),就这样随着父亲一起来到新泽西。那时,谁也没有想到,这个文静的少年将在这里待上一辈子,并且创造出改变世界的发明。
中学毕业后,丹尼斯•里奇听从父亲的建议,进入哈佛大学学习应用数学,直到拿到博士学位。他的第一份工作,是为军方研制核武器,这并不符合他的志趣。1967年,通过父亲介绍,26岁的他进入贝尔实验室,从事刚刚兴起的计算机研究。从此,他在新泽西老家一住就是44年,直到去世。
他在贝尔实验室的第一个任务,是参与大项目Multics,即开发一个前所未有的、可以多人使用的、同时运行多个程序的操作系统。该项目由贝尔实验室、麻省理工学院和通用电气公司三方联合研制,但是由于设计过于复杂,迟迟拿不出成果,1969年贝尔实验室宣布退出。
第一个任务这样无果而终,丹尼斯•里奇很不甘,但也无能为力。谁知过完了夏天,比他小两岁的同事肯•汤普森(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语言发明人丹尼斯•里奇已经去世",外界才知道这件事,引发了纪念浪潮。虽然这个过程有点令人伤感,但是必须说,这很符合他的"保持简单"的原则。
(完)
飞熊 说:
麦卡锡也去世了,真是可惜,上个世纪计算机界的大人物逐渐到了寿命的尽头了
2011年10月25日 22:28 | # | 引用
c2 说:
我的纪念文章:
http://c2.teckoo.com/blog/story/dennis-ritchie.html
2011年10月25日 22:29 | # | 引用
avlee 说:
读完这段文字,感觉到特别的伤感
2011年10月25日 22:31 | # | 引用
atusoft 说:
有点道家的精神,简单,朴实,高效。人生,工作都是保持一样的KISS原则。远非那些只追逐商业利益最大化,赶进度不求质量的企业和工程师所可比。几十年过去,曾经辉煌一时的软件都末落了,UNIX,C却依然有着生命力
2011年10月25日 22:48 | # | 引用
lumixia 说:
十月想不到会是这么悲伤的季节,麦卡锡也去了,你应该需要再写一篇吧,犹记得你以前的一篇介绍LISP的文章。
2011年10月25日 23:21 | # | 引用
张朋 说:
a great man.
2011年10月25日 23:49 | # | 引用
cm 说:
考,最喜爱得两个语言得作者相继逝世,人生真悲剧。
2011年10月26日 00:20 | # | 引用
delectate 说:
历史会铭记他们对人类进步所做的贡献。
大牛相继离去,小牛犊还没有生下来,我们这真空的一代该怎么办?期待文艺复兴
2011年10月26日 01:00 | # | 引用
林海 说:
grabit 用了但他速度不动 不知道是不是要设置点什么东西? 请教
2011年10月26日 01:47 | # | 引用
lost 说:
KISS原则是否可译成“简单、愚笨”,因电脑只会切实执行指令,不作他想。正因为这样,电脑却又能变成最聪明的东西。这又是否如中国哲学所说的那样——大智若愚?
2011年10月26日 07:05 | # | 引用
shadow 说:
很想收藏这篇文章。它证明了另外一种生活的价值,与平常人不同的生活。每一个人,每一天都会面临选择,Ritche也是。
另外:本来很想为这篇文章付费,但是怎么变成“9.9”了。这句话“。(2011年9月,由于支付宝改变收费规则,每笔担保交易收费1元,所以我不得不将购买价格提高到9.9元人民币或2.99元美元,算是一次购买10篇。)”很令人费解。我猜价格改变后您的收入应该减少了。
2011年10月26日 09:30 | # | 引用
[0,1] 说:
不懂Unix。
但是“保持简单”的理念符合我的审美(当然包含对IT产品的审美)观。
这样了不起的人物,纪念。
2011年10月26日 10:13 | # | 引用
I am sad 说:
真的很低调。伤感!
;
2011年10月26日 10:22 | # | 引用
mchen 说:
慢慢的一点一点的看完文字,很伤感,简单就好,真的。
2011年10月26日 10:50 | # | 引用
yuza 说:
Yet people are showering their words on the apple man. What a shame!
2011年10月26日 12:34 | # | 引用
半瓶墨水 说:
我感觉他很可怜,独居,什么时候死了都没人知道。
2011年10月26日 13:55 | # | 引用
王景丹 说:
如今的IT界太多浮躁的牛犊,太多急功近利的coder,天天宣扬着“创新”的口号,天天却在翻新、盗版中打口水战。我是研二计算机专业的学生,我承认我并没那么热爱技术,但这是一个基础吧,我是想工作时转向产品,不愿在技术中挣扎了。
2011年10月26日 15:50 | # | 引用
阿良 说:
很感伤;
虽然现在基本不用C了,但C语言带给我的思想将陪伴我一身;
谢谢;
大牛;
2011年10月26日 15:53 | # | 引用
fuhao_987 说:
C是接触的第一门语言。也是我受影响最深的一门语言。。
2011年10月26日 17:17 | # | 引用
吴萍 说:
看到文章结尾不由自主想哭,忍住了,但现在在键盘上打这段话的时候,眼泪还是留下来了。
2011年10月26日 20:54 | # | 引用
shavonne 说:
KISS原则,keep it simple, silly
2011年10月26日 22:36 | # | 引用
我叫唐磊 说:
作为一个热爱C语言并一直在使用它的小程序员,我想说keep it simple stupid原则我会一直遵循的 C语言就和Dennis Ritchie一样 代表的是一种精神!虽然现在的人大都不知道这种精神的真谛!
2011年10月27日 09:51 | # | 引用
bailey 说:
真正的大师
2011年10月27日 11:25 | # | 引用
buaaclimber 说:
The acronym was first coined by Kelly Johnson, lead engineer at the Lockheed Skunk Works (creators of the Lockheed U-2 and SR-71 Blackbird spy planes, among many others).
http://en.wikipedia.org/wiki/KISS_principle
KISS原则最先不是由Kelly Johnson提出的吗?
2011年10月27日 11:26 | # | 引用
王立玉 说:
您好 在您的博客里面我学到了很多的东西! 非常非常感谢。我很想回报您带给我的收获,不知道有何方法。
2011年10月27日 11:29 | # | 引用
M先生。 说:
大牛相距逝去,新的世界格局正在重建......
2011年10月27日 11:35 | # | 引用
小百花 说:
其实成功的可以流传下来的都是简单的东西!羡慕他的低调。。。
2011年10月27日 16:56 | # | 引用
ytuwlg 说:
真正的大师
2011年10月27日 22:14 | # | 引用
土木坛子 说:
想不到离世的时候也是如此简单。KISS。
2011年10月28日 03:52 | # | 引用
默默的倾听着 说:
如果乔布斯是商业天才,那里奇就是一名真正的大师。
2011年10月28日 10:00 | # | 引用
wumujushi 说:
悄悄的来,静静的走。。。。
2011年10月28日 11:43 | # | 引用
郭巨侠 说:
必须承认,看到提价后,支付有些犹豫,但我想,这样会让我更加珍惜我获得的知识,并认真思考这条知识的价值,想办法实现这条知识对我的增值。
不过,我想,这样会减少付费人数,有违微付费的原则,是否可以公布你的支付宝账号,自行转账呢?
2011年10月28日 13:22 | # | 引用
另一个晨曦 说:
值得尊敬的大师,一路走好
2011年10月28日 14:52 | # | 引用
Silverbolt 说:
2011年10月31日 16:57 | # | 引用
makefool 说:
嗯,现在的c++已经把一切搞得太复杂了。
什么std,什么模板库,还是c简单。
回想一下,我所写的,一直在用的程序,都少于30~50行。
而那些上千行的程序,我现在都不知道丢到哪里去了。
2011年10月31日 20:59 | # | 引用
Patmos 说:
看着大神。才懂得什么叫做一些人的低调是另一些人装逼的资本。
2011年10月31日 21:05 | # | 引用
路路 说:
突然觉得“成功需要忍受孤独”这句话很适合他~
2011年11月 4日 15:04 | # | 引用
stone2.0 说:
纪念大师
2011年11月11日 18:11 | # | 引用
战东耀 说:
个人感觉他不是在忍受,他已经是在享受了。。 真正的大师
2011年11月16日 21:33 | # | 引用
wujwmail 说:
我是从这本书开始学计算机语言的;Dennis Ritchie是一个里程碑式的人物;向Dennis Ritchie敬礼!
2011年11月24日 10:52 | # | 引用
无很 说:
大师会永远留在我们心中!
2011年12月 1日 22:06 | # | 引用
大头龙仔 说:
我想我落后了,很久没关注IT界里的事情,也很久没使用过C了
Dennis Ritchie的去世也显得那么的KISS,和传奇人物Jobs感觉有个鲜名的对比
但不管怎么样,作为一个里程碑式的人物,我同样向Dennis Ritchie敬礼
2011年12月14日 17:38 | # | 引用
孙悟空 说:
非常珍贵的东西,感谢你让我感受到,让我们一起纪念他,祝他在天堂永远快乐。
2011年12月23日 10:56 | # | 引用
unknown 说:
传奇啊!虽然当天就在twitter上得知DMR离世消息,但却不知他也是终身未婚,且最终隐居去了,还一直以为他也在google呢。。。
2011年12月27日 17:48 | # | 引用
guru 说:
向大师致敬!
2011年12月29日 09:28 | # | 引用
liuh 说:
致敬
2012年1月 6日 15:34 | # | 引用
haoqis 说:
哭了
2012年1月 6日 22:10 | # | 引用
fanhe 说:
致敬
2012年1月19日 02:50 | # | 引用
diojin 说:
感动, 谢谢你让我记起他, 祝福伟大的Dennis Ritchie
2012年2月20日 16:28 | # | 引用
navy 说:
x86指令系统与ARM指令系统也有类似的特点,后者简单,前者复杂。
2012年7月 5日 17:55 | # | 引用
Ju2ender 说:
Dennis Ritchie 对世界所做的贡献无法估量,现在的绝大多数计算机语言都是由 C 写成,也就是说几乎所有的应用程序都是直接或间接由 C 开发。向您致敬!您对简单的坚持也在普世中继承了下去,并会永远流传!
2013年2月19日 15:59 | # | 引用
shell 说:
God be with you for ever,Ritchie
2013年3月15日 13:48 | # | 引用
Libre Liu 说:
#include
int main(void) {
printf("Goodbye Dennis Ritchie");
}
2013年4月 6日 21:26 | # | 引用
Lactino 说:
2013年9月 3日 10:58 | # | 引用
simple 说:
虽然我学的是JAVA但是看完仍然忍不住想流泪,向大师致敬!
2013年9月18日 10:02 | # | 引用
7rack 说:
当年看到这个消息,相继走了好几个牛人,感觉像是一个时代的辉煌过去了:(
2013年10月17日 11:03 | # | 引用
华定平 说:
本来很难受 看到你的评论 我竟然又笑了 哈哈 感谢
2013年11月23日 22:35 | # | 引用
Leon 说:
缅怀大师。
2014年1月 3日 21:07 | # | 引用
毛毛 说:
黑客与画家,我买了一本,很不错,很受益。感谢阮兄的翻译和推荐。支持。。
2014年1月 5日 15:57 | # | 引用
mll 说:
printf("bye world.\n");
2014年2月26日 10:47 | # | 引用
code 说:
这表明了一个典型程序员的一生。单身一人,孤独终老,早死,前列腺有问题(手枪过多)
2014年4月 5日 09:47 | # | 引用
犹豫斯蒂芬 说:
unix初期不至于用机器语言写的吧,记得资料上写的是汇编
2014年12月23日 05:06 | # | 引用
刚 说:
WIKI上有写Dennis并没有拿到博士学位。https://zh.wikipedia.org/zh-cn/%E4%B8%B9%E5%B0%BC%E6%96%AF%C2%B7%E9%87%8C%E5%A5%87
大学毕业后,里奇于1967年进入贝尔实验室工作。第二年他在计算机科学家帕特里克·C·费希尔的指导下发表了博士论文《程序结构与计算复杂性》(Program Structure and Computational Complexity),但是始终没有正式获得博士学位[10]。
2018年3月11日 16:46 | # | 引用
JQ 说:
我也是
2018年4月 4日 11:46 | # | 引用
lemaden520 说:
也许这是他最好的归宿。
2018年12月 7日 21:11 | # | 引用
万继龙 说:
致敬大师!
2019年2月12日 21:43 | # | 引用
周静兵 说:
好文章,大赞
2020年1月23日 19:41 | # | 引用
熊猫不吃香菜 说:
向大师致敬
2020年7月15日 16:47 | # | 引用
kevin.lee 说:
Forever Heroes
2021年5月23日 20:09 | # | 引用
yf 说:
此刻无法用言语形容自己的心情
保持简单
2021年7月 6日 20:13 | # | 引用
kfatyuip 说:
main(int argc, char* argv)
{
printf("bye world\n");
}
2021年8月20日 16:38 | # | 引用