丹尼斯·麦卡利斯泰尔·里奇(英语:Dennis MacAlistair Ritchie,1941年9月9日—2011年10月12日),美国计算机科学家。黑客圈子通常称他为“dmr[4]。他是C语言的创造者、Unix操作系统的关键开发者[5][6][7][8],对计算机领域产生了深远影响,并与肯·汤普逊同为1983年图灵奖得主。

Quick Facts 丹尼斯·麦卡利斯泰尔·里奇 Dennis MacAlistair Ritchie, 出生 ...
丹尼斯·麦卡利斯泰尔·里奇
Dennis MacAlistair Ritchie
Thumb
丹尼斯·里奇,拍摄于2011年
出生(1941-09-09)1941年9月9日
 美国纽约州布隆克维
逝世2011年10月12日(2011岁—10—12)(70岁)[1][2]
 美国新泽西州伯克利·海茨镇英语Berkeley Heights, New Jersey
国籍 美国
母校哈佛大学
知名于ALTRAN英语ALTRAN
B语言
BCPL
C
Multics
Unix
奖项图灵奖(1983年)
美国国家技术奖章英语National Medal of Technology(1998年)
IEEE理察·卫斯里·汉明奖章(1990)
计算机先驱奖英语Computer Pioneer Award(1994)
计算机历史博物馆研究员奖(1997)[3]
哈罗德·彭德奖英语Harold Pender Award(2003)
日本国际奖(2011)
科学生涯
研究领域计算机科学
机构朗讯科技
贝尔实验室
Close

生平

Thumb
肯·汤普逊(左)和丹尼斯·里奇(右)

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

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

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

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

C语言与UNIX

Thumb
PDP-11上面执行的Version 7 Unix,图中的/usr/dmr即丹尼斯·里奇的家目录

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

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

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

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

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

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

荣誉和获奖情况

1983年,因为发展了通用操作系统理论并实现了UNIX操作系统,丹尼斯·里奇和肯·汤普逊二人一起获得了图灵奖。里奇的图灵奖论文题目为《对软件研究的反思》(Reflections on Software Research)[19]。1990年,二人因“创造UNIX操作系统和C程序设计语言”而获得了IEEE颁发的IEEE汉明奖英语IEEE Richard W. Hamming Medal[20],1997年获计算机历史博物馆研究员奖[21],在1999年4月21日又共同获得了由美国总统比尔·克林顿颁发的美国国家技术与创新奖章英语National Medal of Technology and Innovation[22][23]

2005年,美国工业研究院英语Industrial Research Institute授予丹尼斯·里奇IRI成就奖英语IRI Achievement Award,以表彰他对计算机科学技术做出的贡献,以及UNIX操作系统对社会的广泛影响[24]

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

逝世

Thumb
道格拉斯·麦克罗伊(左)和丹尼斯·里奇,2011年5月

2011年10月12日,里奇于新泽西州伯克利·海茨镇英语Berkeley Heights, New Jersey的家中去世,享年70岁[5]。去世的消息由他之前的同事罗勃·派克提供[6][7],但未指明具体的去世时间和原因[26]。此前丹尼斯·里奇的健康状况一直不佳,并且患有前列腺癌心脏病[5][6][27][28]

丹尼斯·里奇对计算机领域产生了深刻影响[29][30][31][32]。在里奇去世之后,计算机历史学家保罗·茨露吉英语Paul E. Ceruzzi评价说:[33]

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

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

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

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

著作

参考资料

外部链接

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.