丹尼斯·里奇
丹尼斯·麦卡利斯泰尔·里奇(英语:Dennis MacAlistair Ritchie,1941年9月9日—2011年10月12日),美国电脑科学家。骇客圈子通常称他为“dmr”[4]。他是C语言的创造者、Unix操作系统的关键开发者[5][6][7][8],对计算机领域产生了深远影响,并与肯·汤普逊同为1983年图灵奖得主。
丹尼斯·麦卡利斯泰尔·里奇 Dennis MacAlistair Ritchie | |
---|---|
出生 | 美国纽约州布隆克维 | 1941年9月9日
逝世 | 2011年10月12日[1][2] 美国新泽西州伯克利·海茨镇 | (70岁)
国籍 | 美国 |
母校 | 哈佛大学 |
知名于 | ALTRAN B语言 BCPL C Multics Unix |
奖项 | 图灵奖(1983年) 美国国家技术奖章(1998年) IEEE理察·卫斯里·汉明奖章(1990) 计算机先驱奖(1994) 计算机历史博物馆研究员奖(1997)[3] 哈罗德·彭德奖(2003) 日本国际奖(2011) |
科学生涯 | |
研究领域 | 电脑科学 |
机构 | 朗讯科技 贝尔实验室 |
生平
丹尼斯·里奇生于美国纽约州布隆克维。他的父亲是《开关电路设计》(The Design of Switching Circuits)作者之一、贝尔实验室的资深科学家阿利斯泰尔·里奇(Alistair E. Ritchie)。在丹尼斯还小的时候,他们家就搬到了新泽西州的萨米特。他于当地的高中学业[9],之后到哈佛大学学习物理学和应用数学。大学毕业后,里奇于1967年进入贝尔实验室工作。第二年他在电脑科学家帕特里克·C·费希尔的指导下发表了博士论文《程序结构与计算复杂性》(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)和罗伯特·莫尔斯合作研究对M-209密码机的唯密文攻击。在早期Unix系统的crypt命令中就有部分内容来自这台机器[13]。不过,经过与美国国家安全局的讨论,他们决定不公开方法,因为公开攻击原理会影响到其他正在政府服役的机器[13]。
此外,里奇还参与了贝尔实验室九号计划、Inferno操作系统以及Limbo语言的开发,而这些项目均是基于他以前的成果进一步开发的。贝尔实验室在20世纪90年代中期重组时,他转到了朗讯科技。在朗讯,他曾领导系统软件研究部门,直到2007年退休为止[14]。
C语言与UNIX
丹尼斯·里奇为人所知,主要是因为他创造了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年接受了一次采访,表示自己看到Linux和BSD操作系统正在延续Unix发展,并说:[18]
我觉得Linux发展的现象令人高兴,因为它很大程度建立在Unix的基础之上。在Unix的直接派生品中,Linux应该是最健全的了,虽然工作站和大型计算机厂商也在提供不同种类的BSD系统。
荣誉和获奖情况
1983年,因为发展了通用操作系统理论并实现了UNIX操作系统,丹尼斯·里奇和肯·汤普逊二人一起获得了图灵奖。里奇的图灵奖论文题目为《对软件研究的反思》(Reflections on Software Research)[19]。1990年,二人因“创造UNIX操作系统和C程式设计语言”而获得了IEEE颁发的IEEE汉明奖[20],1997年获计算机历史博物馆研究员奖[21],在1999年4月21日又共同获得了由美国总统比尔·克林顿颁发的美国国家技术与创新奖章[22][23]。
2005年,美国工业研究院授予丹尼斯·里奇IRI成就奖,以表彰他对电脑科学技术做出的贡献,以及UNIX操作系统对社会的广泛影响[24]。
逝世
2011年10月12日,里奇于新泽西州伯克利·海茨镇的家中去世,享年70岁[5]。去世的消息由他之前的同事罗勃·派克提供[6][7],但未指明具体的去世时间和原因[26]。此前丹尼斯·里奇的健康状况一直不佳,并且患有前列腺癌和心脏病[5][6][27][28]。
丹尼斯·里奇对计算机领域产生了深刻影响[29][30][31][32]。在里奇去世之后,计算机历史学家保罗·茨露吉评价说:[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]。
著作
- 《C程式设计语言》:与布莱恩·柯林汉合著。该书所采用的标准称为“K&R C”。
- 《Unix Programmer's Manual》
参考资料
- ^ Gallagher, Sean. Dennis Ritchie, Father of C and Co-Developer of Unix, Dies. 2011-10-13 [2011-10-14]. (原始内容存档于2012-01-27).
- ^ Unix creator Dennis Ritchie dies aged 70. BBC News. 2011-10-13 [2011-10-14]. (原始内容存档于2015-09-25).
- ^ Archived copy. [2015-01-05]. (原始内容存档于2015-01-03).
- ^ ken. The Jargon File (version 4.4.7). [2017-01-16]. (原始内容存档于2011-06-24).
- ^ 5.0 5.1 5.2 Lohr, Steve. Dennis Ritchie, Programming Trailblazer, Dies at 70. The New York Times. 2011-10-12 [2015-10-15]. (原始内容存档于2016-12-08). 参数
|newspaper=
与模板{{cite web}}
不匹配(建议改用{{cite news}}
或|website=
) (帮助) - ^ 6.0 6.1 6.2 Unix creator Dennis Ritchie dies aged 70. BBC News. 2011-10-13 [2011-10-14]. (原始内容存档于2015-09-25).
- ^ 7.0 7.1 Rob Pike, (沒有標題), 2011-10-12 [2011-10-14], (原始内容存档于2013-10-05)
- ^ Campbell-Kelly, Martin, Dennis Ritchie obituary, The Guardian, 2011-10-13 [2011-10-13], (原始内容存档于2020-12-10)
- ^ Liz, Keill. Berkeley Heights man wins Japan Prize for inventing UNIX operating system. Independent Press. 2011-02-01 [2011-10-17]. (原始内容存档于2018-01-23).
- ^ van Renesse, Robbert. The First SIGOPS Dennis M. Ritchie Doctoral Dissertation Award. ACM SIGOPS Operating Systems Review. January 2014, 48 (1): 100 [2017-01-16]. doi:10.1145/2626401.2626421. (原始内容存档于2018-11-19).
- ^ Ritchie, Dennis M. The Evolution of the Unix Time-sharing System. [2016-10-31]. (原始内容存档于2015-06-11).
- ^ Ritchie, Dennis. The Development of the C Language. Bell Labs. [2016-10-31]. (原始内容存档于2017-04-03).
- ^ 13.0 13.1 Dabbling in Cryptography. Bell-labs.com. 2000-05-05 [2016-11-14]. (原始内容存档于2015-06-11).
- ^ Dennis Ritchie, father of C programming language, dies. cnet. 2011-10-13 [2017-01-16]. (原始内容存档于2020-12-10).
- ^ [Pioneer Programmer Shaped the Evolution of Computers, Wall Street Journal, 2011-10-14, p.A7]
- ^ McIlroy, M. D. A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (技术报告). CSTR. Bell Labs. 1987 [2017-01-16]. 139. (原始内容存档 (PDF)于2017-11-11).
- ^ Unix's founding fathers. The Economist. 2004-06-10 [2017-01-16]. (原始内容存档于2018-01-16).
- ^ 18.0 18.1 Benet, Manuel. Interview With Dennis M. Ritchie. LinuxFocus.org. 1999 [2017-01-16]. (原始内容存档于2018-01-04).
- ^ Ritchie, Dennis M., 1983 Turing Award Lecture: Reflections on Software Research, ACM Turing Award Lectures: The First Twenty Years 1666–1985, ACM Press Anthology Series, Addison-Wesley Publishing Company: 163–169, 1987 [Jan 30, 2012]
- ^ IEEE Richard W. Hamming Medal Recipients (PDF). IEEE. [2011-05-29]. (原始内容存档 (PDF)于2015-06-12).
- ^ CHM. Dennis Ritchie — CHM Fellow Award Winner. [2015-03-30]. (原始内容存档于2015-04-03).
- ^ Archived copy. [2006-09-06]. (原始内容存档于2006-03-27).
- ^ Archived copy. [2003-11-04]. (原始内容存档于2003-10-11).
- ^ Dennis Ritchie, Bell Labs Researcher and Co-Inventor of Unix, Receives 2005 Industrial Research Institute Achievement Award. Alcatel-Lucent Press Release. 2005-11-15 [2012-02-08]. (原始内容存档于2014-02-04).
- ^ Benny, Evangelista. Ken Thompson, Dennis Ritchie win Japan Prize. San Francisco Chronicle. 2011-01-25 [2020-12-15]. (原始内容存档于2012-03-10).
- ^ Associated Press, Summary Box: Dennis Ritchie, pioneer in computer programming at Bell Labs, dies at 70, The Washington Post, 2011-10-13 [2011-10-14], (原始内容存档于2018-12-24)
- ^ Gallagher, Sean. Dennis Ritchie, Father of C and Co-Developer of Unix, Dies. Wired. 2011-10-13 [2011-10-13]. (原始内容存档于2012-01-27).
- ^ Binstock, Andrew. Dennis Ritchie, in Memoriam. Dr. Dobb's Journal. Dr. Dobb's Journal. [2011-10-14]. (原始内容存档于2012-01-27).
- ^ David Cardinal. Dennis Ritchie, creator of C, bids "goodbye, world". Extreme Tech. 2011-11-02 [2011-11-28]. (原始内容存档于2012-01-28).
- ^ Dennis Ritchie and John McCarthy: Dennis Ritchie and John McCarthy, machine whisperers, died on October 8th and 24th respectively, aged 70 and 84. The Economist. 2011-11-05 [2011-11-28]. (原始内容存档于2012-01-28).
- ^ The Strange Birth and Long Life of Unix. Newswise. 2011-11-23 [2011-11-28]. (原始内容存档于2012-01-28).
- ^ Shyamanuja Das. The forgotten tech luminaries: The new generation of the digital age owe a part of their numeric souls to Dennis Ritchie and John McCarthy. Ciol.com. 2011-11-01 [2011-11-28]. (原始内容存档于2012-01-28).
- ^ Langer, Emily. Dennis Ritchie, founder of Unix and C, dies at 70. Washington Post. 2011-10-14 [2011-11-03]. (原始内容存档于2012-01-28).
- ^ Shishir Prasad. No one thought 'C' would become so big: Brian Kernighan. Forbes India. 2011-11-04 [2011-11-28]. (原始内容存档于2012-01-28).
- ^ Steve Lohroct. Dennis Ritchie, 70, Dies, Programming Trailblazer. The New York Times. 2011-10-13 [2016-11-14]. (原始内容存档于2017-09-12).
- ^ Myths of Steve Jobs. Deccan Herald. 2011-11-28 [2011-11-28]. (原始内容存档于2012-01-28).
- ^ Subhajit Datta. The tale of three deeply different technologists. The Hindu. 2011-11-14 [2011-11-28]. (原始内容存档于2012-01-28).
- ^ Duncan, Geoff. Was Dennis Ritchie more important than Steve Jobs?. Digital Trends. 2011-10-13 [2016-11-14]. (原始内容存档于2020-10-24).
- ^ Perlow, Jason. Without Dennis Ritchie, there would be no Steve Jobs. ZDNet.com. 2015-10-09 [2016-11-14]. (原始内容存档于2020-11-11).
- ^ What Can We Learn From Dennis Ritchie?. TechCrunch.com. 2011-10-15 [2016-11-14]. (原始内容存档于2020-12-10).
- ^ Phoronix. Red Hat Releases Fedora 16 "Verne". [2011-11-08]. (原始内容存档于2020-12-10).
- ^ The FreeBSD project. FreeBSD-9.0 Announcement. [2012-01-12]. (原始内容存档于2020-11-12).