丹尼斯·麦卡利斯泰尔·里奇 (英語:Dennis MacAlistair Ritchie ,1941年9月9日—2011年10月12日),美國計算機科學家。駭客 圈子通常稱他為「dmr 」[ 4] 。他是C語言 的創造者、Unix 作業系統 的關鍵開發者[ 5] [ 6] [ 7] [ 8] ,對電腦領域產生了深遠影響,並與肯·湯普遜 同為1983年圖靈獎 得主。
生平
肯·汤普逊 (左)和丹尼斯·里奇(右)
丹尼斯·里奇生於美國紐約州 布隆克維 。他的父親是《開關電路設計》(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
在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年接受了一次採訪,表示自己看到Linux 和BSD 作業系統正在延續Unix發展,並說:[ 18]
我覺得Linux發展的現象令人高興,因為它很大程度建立在Unix的基礎之上。在Unix的直接衍生品中,Linux應該是最健全的了,雖然工作站 和大型计算机 廠商也在提供不同種類的BSD系統。
在這次採訪中,他還指出他的觀點實際上源於很多年以前自己、肯·湯普遜 以及其他人的看法。[ 18]
榮譽和獲獎情況
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年,丹尼斯·里奇和肯·湯普遜二人共同獲得了日本国际奖 [ 25] 。
逝世
道格拉斯·麥克羅伊 (左)和丹尼斯·里奇,2011年5月
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] 。
著作
參考資料
^ 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).
^ 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).
外部連結
1960年代 1970年代 1980年代 1990年代 2000年代 2010年代 2020年代
1980年代 1990年代 2000年代 2010年代 2020年代