丹尼斯·里奇

来自Local Chinese Wikipedia
(重定向自Dennis Ritchie
跳转到导航 跳转到搜索

Template:NoteTA 脚本错误:没有“Template wrapper”这个模块。脚本错误:没有“Check for unknown parameters”这个模块。 丹尼斯·麦卡利斯泰尔·里奇Template:Langx,1941年9月9日—2011年10月12日),美国计算机科学家。骇客圈子通常称他为“dmr[1]。他是C语言的创造者、Unix操作系统的关键开发者[2][3][4][5],对电脑领域产生了深远影响,并与肯·汤普逊同为1983年图灵奖得主。

生平[编辑]

File:Ken Thompson and Dennis Ritchie.jpg
肯·汤普逊(左)和丹尼斯·里奇(右)

丹尼斯·里奇生于美国纽约州布隆克维。他的父亲是《开关电路设计》(The Design of Switching Circuits)作者之一、贝尔实验室的资深科学家阿利斯泰尔·里奇(Alistair E. Ritchie)。在丹尼斯还小的时候,他们家就搬到了新泽西州萨米特。他于当地的高中学业[6],之后到哈佛大学学习物理学应用数学。大学毕业后,里奇于1967年进入贝尔实验室工作。第二年他在计算机科学家Template:Tsl的指导下发表了博士论文《程式结构与计算复杂性》(Program Structure and Computational Complexity),但是始终没有正式获得博士学位[7]

20世纪60年代,丹尼斯·里奇和肯·汤普逊参与了贝尔实验室Multics系统的开发。然而之后不久贝尔实验室又撤出了Multics计划,于是汤普逊找到了一台PDP-7机器,从头开始开发应用程序和操作系统。在此期间,丹尼斯·里奇和汤普逊也带领团队进行系统的开发工作。1970年,布莱恩·柯林汉建议把系统命名为“Unix”,与“Multics”名字相对[8]。在完成Unix系统开发的基本工作之后,汤普逊觉得Unix系统需要一个系统级的编程语言,便创造了B语言。后来丹尼斯·里奇则在B语言的基础上创造了C语言[9]

70年代,里奇曾与詹姆斯·里德(James Reeds)和Template:Tsl合作研究对M-209密码机的唯密文攻击。在早期Unix系统的crypt命令中就有部分内容来自这台机器[10]。不过,经过与美国国家安全局的讨论,他们决定不公开方法,因为公开攻击原理会影响到其他正在政府服役的机器[10]

此外,里奇还参与了贝尔实验室九号计划Inferno操作系统以及Limbo语言的开发,而这些项目均是基于他以前的成果进一步开发的。贝尔实验室在20世纪90年代中期重组时,他转到了朗讯科技。在朗讯,他曾领导系统软件研究部门,直到2007年退休为止[11]

C语言与UNIX[编辑]

File:Version 7 Unix SIMH PDP11 Emulation DMR.png
PDP-11上面执行的Version 7 Unix,图中的/usr/dmr即丹尼斯·里奇的家目录

丹尼斯·里奇为人所知,主要是因为他创造了C语言,作为关键开发者参与了Unix操作系统的开发,并且与布莱恩·柯林汉共同撰写了《C程式设计语言》——这本书所树立的标准叫做“K&R C”,其中“K”指柯林汉,而“R”指的就是里奇。开发Unix时,里奇的一个重要贡献是把Unix移植到不同的机器和平台之上[12]。在Unix领域二人非常有影响力,以至于后来开发Research Unix道格拉斯·麦克罗伊写道“你可以安全地把丹尼斯·里奇和肯·汤普逊的名字放到几乎所有未经其他人署名的地方。”[13]

当有人问里奇是什么启发他如此设计C语言时,里奇回答说“看来是件值得做的事”("looked like a good thing to do")。他说任何人在同一地方、同一时间也会像他那样做的。但是许多人认为这只是里奇的谦言,例如里奇在贝尔实验室的同事、C++的创造者和设计师比雅尼·斯特劳斯特鲁普曾说:“假如里奇决定在那十年里将他的精力花费在稀奇古怪的数学上,那么Unix将胎死腹中”。[14]

今天C语言广泛用于各种应用程序、操作系统嵌入式系统的开发之中,并影响了大多数现代编程语言。Unix操作系统则建立了一系列操作系统的观念和准则。

丹尼斯·里奇于1999年接受了一次采访,表示自己看到LinuxBSD操作系统正在延续Unix发展,并说:[15]

页面Template:Quote/blockquote.css没有内容。

我觉得Linux发展的现象令人高兴,因为它很大程度建立在Unix的基础之上。在Unix的直接衍生品中,Linux应该是最健全的了,虽然工作站大型计算机厂商也在提供不同种类的BSD系统。

在这次采访中,他还指出他的观点实际上源于很多年以前自己、肯·汤普逊以及其他人的看法。[15]

荣誉和获奖情况[编辑]

1983年,因为发展了通用操作系统理论并实现了UNIX操作系统,丹尼斯·里奇和肯·汤普逊二人一起获得了图灵奖。里奇的图灵奖论文题目为《对软件研究的反思》(Reflections on Software Research)[16]。1990年,二人因“创造UNIX操作系统和C程式设计语言”而获得了IEEE颁发的Template:Tsl[17],1997年获计算机历史博物馆研究员奖[18],在1999年4月21日又共同获得了由美国总统比尔·克林顿颁发的Template:Tsl[19][20]

2005年,Template:Tsl授予丹尼斯·里奇Template:Tsl,以表彰他对计算机科学技术做出的贡献,以及UNIX操作系统对社会的广泛影响[21]

2011年,丹尼斯·里奇和肯·汤普逊二人共同获得了日本国际奖[22]

逝世[编辑]

File:Dennis Ritchie (right) Receiving Japan Prize.jpeg
道格拉斯·麦克罗伊(左)和丹尼斯·里奇,2011年5月

2011年10月12日,里奇于新泽西州Template:Tsl的家中去世,享年70岁[2]。去世的消息由他之前的同事罗勃·派克提供[3][4],但未指明具体的去世时间和原因[23]。此前丹尼斯·里奇的健康状况一直不佳,并且患有前列腺癌心脏病[2][3][24][25]

丹尼斯·里奇对电脑领域产生了深刻影响[26][27][28][29]。在里奇去世之后,电脑历史学家Template:Tsl评价说:[30]

页面Template:Quote/blockquote.css没有内容。

里奇的名字并不容易让人察觉,也不为人熟知,但是……假如有一个能够把电脑放大的显微镜,你会看到里面到处都是他的贡献。

他的同事布莱恩·柯林汉也接受了采访,说里奇从未想过C语言能够变得如此重要[31]。他告诉《纽约时报》,“丹尼斯创造的工具——以及它们的衍生品——现在正广泛用于一切事物”[32]。他还提醒读者,C语言和UNIX在之后各种著名专案的开发中发挥了非常重要的作用,例如iPhone[33][34]

有人将丹尼斯·里奇与史蒂夫·乔布斯进行对比,试图探究二人之中谁更重要,然后得出一条结论,“在过去四十年的技术革命里,里奇起到了关键作用——包括苹果公司想要用来创造财富的技术”[35]。有人说“从另一方面讲,丹尼斯·里奇发明了两项关键的软件技术,这种技术是直接或间接组成现在每一件电脑产品的DNA。它听起来很疯狂,可事实的确如此。”[36]还有人评价道,“许多在计算机科学和相关领域的人都清楚,里奇的重要性体现在一切需要通过电脑实现的工作之中”[37]

为纪念丹尼斯·里奇,Fedora的开发团队将Fedora 16(发布于里奇去世一个月后)献给他[38],而FreeBSD的开发团队也将FreeBSD 9.0(发布于2012年1月12日)献给他[39]

著作[编辑]

参考资料[编辑]

外部链接[编辑]

脚本错误:没有“Navbox”这个模块。 Template:日本国际奖获得者 Template:Richard W. Hamming Medal recipients Template:Authority control