丹尼斯·里奇

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

丹尼斯·麦卡利斯泰尔·里奇
丹尼斯·里奇,拍摄于2011年
原文名Dennis MacAlistair Ritchie
出生(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)
科学生涯
研究领域计算机科学
机构朗讯科技
贝尔实验室

生平 编辑

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

丹尼斯·里奇生于美国纽约州布隆克维。他的父亲是《开关电路设计》(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 编辑

 
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]

逝世 编辑

 
道格拉斯·麦克罗伊(左)和丹尼斯·里奇,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]

著作 编辑

参考资料 编辑

  1. ^ Gallagher, Sean. Dennis Ritchie, Father of C and Co-Developer of Unix, Dies. 2011-10-13 [2011-10-14]. (原始内容存档于2012-01-27). 
  2. ^ Unix creator Dennis Ritchie dies aged 70. BBC News. 2011-10-13 [2011-10-14]. (原始内容存档于2015-09-25). 
  3. ^ Archived copy. [2015-01-05]. (原始内容存档于2015-01-03). 
  4. ^ ken. The Jargon File (version 4.4.7). [2017-01-16]. (原始内容存档于2011-06-24). 
  5. ^ 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. ^ 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. ^ 7.0 7.1 Rob Pike, (沒有標題), 2011-10-12 [2011-10-14], (原始内容存档于2013-10-05) 
  8. ^ Campbell-Kelly, Martin, Dennis Ritchie obituary, The Guardian, 2011-10-13 [2011-10-13], (原始内容存档于2020-12-10) 
  9. ^ Liz, Keill. Berkeley Heights man wins Japan Prize for inventing UNIX operating system. Independent Press. 2011-02-01 [2011-10-17]. (原始内容存档于2018-01-23). 
  10. ^ 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). 
  11. ^ Ritchie, Dennis M. The Evolution of the Unix Time-sharing System. [2016-10-31]. (原始内容存档于2015-06-11). 
  12. ^ Ritchie, Dennis. The Development of the C Language. Bell Labs. [2016-10-31]. (原始内容存档于2017-04-03). 
  13. ^ 13.0 13.1 Dabbling in Cryptography. Bell-labs.com. 2000-05-05 [2016-11-14]. (原始内容存档于2015-06-11). 
  14. ^ Dennis Ritchie, father of C programming language, dies. cnet. 2011-10-13 [2017-01-16]. (原始内容存档于2020-12-10). 
  15. ^ [Pioneer Programmer Shaped the Evolution of Computers, Wall Street Journal, 2011-10-14, p.A7]
  16. ^ 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). 
  17. ^ Unix's founding fathers. The Economist. 2004-06-10 [2017-01-16]. (原始内容存档于2018-01-16). 
  18. ^ 18.0 18.1 Benet, Manuel. Interview With Dennis M. Ritchie. LinuxFocus.org. 1999 [2017-01-16]. (原始内容存档于2018-01-04). 
  19. ^ 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] 
  20. ^ IEEE Richard W. Hamming Medal Recipients (PDF). IEEE. [2011-05-29]. (原始内容存档 (PDF)于2015-06-12). 
  21. ^ CHM. Dennis Ritchie — CHM Fellow Award Winner. [2015-03-30]. (原始内容存档于2015-04-03). 
  22. ^ Archived copy. [2006-09-06]. (原始内容存档于2006-03-27). 
  23. ^ Archived copy. [2003-11-04]. (原始内容存档于2003-10-11). 
  24. ^ 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). 
  25. ^ Benny, Evangelista. Ken Thompson, Dennis Ritchie win Japan Prize. San Francisco Chronicle. 2011-01-25 [2020-12-15]. (原始内容存档于2012-03-10). 
  26. ^ 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) 
  27. ^ Gallagher, Sean. Dennis Ritchie, Father of C and Co-Developer of Unix, Dies. Wired. 2011-10-13 [2011-10-13]. (原始内容存档于2012-01-27). 
  28. ^ Binstock, Andrew. Dennis Ritchie, in Memoriam. Dr. Dobb's Journal. Dr. Dobb's Journal. [2011-10-14]. (原始内容存档于2012-01-27). 
  29. ^ David Cardinal. Dennis Ritchie, creator of C, bids "goodbye, world". Extreme Tech. 2011-11-02 [2011-11-28]. (原始内容存档于2012-01-28). 
  30. ^ 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). 
  31. ^ The Strange Birth and Long Life of Unix. Newswise. 2011-11-23 [2011-11-28]. (原始内容存档于2012-01-28). 
  32. ^ 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). 
  33. ^ Langer, Emily. Dennis Ritchie, founder of Unix and C, dies at 70. Washington Post. 2011-10-14 [2011-11-03]. (原始内容存档于2012-01-28). 
  34. ^ Shishir Prasad. No one thought 'C' would become so big: Brian Kernighan. Forbes India. 2011-11-04 [2011-11-28]. (原始内容存档于2012-01-28). 
  35. ^ Steve Lohroct. Dennis Ritchie, 70, Dies, Programming Trailblazer. The New York Times. 2011-10-13 [2016-11-14]. (原始内容存档于2017-09-12). 
  36. ^ Myths of Steve Jobs. Deccan Herald. 2011-11-28 [2011-11-28]. (原始内容存档于2012-01-28). 
  37. ^ Subhajit Datta. The tale of three deeply different technologists. The Hindu. 2011-11-14 [2011-11-28]. (原始内容存档于2012-01-28). 
  38. ^ Duncan, Geoff. Was Dennis Ritchie more important than Steve Jobs?. Digital Trends. 2011-10-13 [2016-11-14]. (原始内容存档于2020-10-24). 
  39. ^ Perlow, Jason. Without Dennis Ritchie, there would be no Steve Jobs. ZDNet.com. 2015-10-09 [2016-11-14]. (原始内容存档于2020-11-11). 
  40. ^ What Can We Learn From Dennis Ritchie?. TechCrunch.com. 2011-10-15 [2016-11-14]. (原始内容存档于2020-12-10). 
  41. ^ Phoronix. Red Hat Releases Fedora 16 "Verne". [2011-11-08]. (原始内容存档于2020-12-10). 
  42. ^ The FreeBSD project. FreeBSD-9.0 Announcement. [2012-01-12]. (原始内容存档于2020-11-12). 

外部链接 编辑