丹尼斯·里奇

丹尼斯·麥卡利斯泰爾·里奇(英語:Dennis MacAlistair Ritchie,1941年9月9日—2011年10月12日),美國電腦科學家。黑客圈子通常稱他為「dmr[4]。他是C語言的創造者、Unix作業系統的關鍵開發者[5][6][7][8],對電腦領域產生了深遠影響,並與肯·湯普遜同為1983年圖靈獎得主。

丹尼斯·麥卡利斯泰爾·里奇
Dennis MacAlistair Ritchie
丹尼斯·里奇,拍攝於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)
科學生涯
研究領域電腦科學
機構朗訊科技
貝爾實驗室

生平

 
肯·湯普遜(左)和丹尼斯·里奇(右)

丹尼斯·里奇生於美國紐約州布隆克維。他的父親是《開關電路設計》(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). 

外部連結