丹尼斯·里奇

来自Local Chinese Wikipedia
(重定向自Dennis M. Ritchie
跳转到导航 跳转到搜索

package.lua第80行Lua错误:module 'Module:Crc32lua' not found 脚本错误:没有“Template wrapper”这个模块。脚本错误:没有“Check for unknown parameters”这个模块。 丹尼斯·麦卡利斯泰尔·里奇Template:Langx,1941年9月9日—2011年10月12日),美國計算機科學家。駭客圈子通常稱他為「dmr[1]。他是C語言的創造者、Unix作業系統的關鍵開發者[2][3][4][5],對電腦領域產生了深遠影響,並與肯·湯普遜同為1983年圖靈獎得主。

生平[编辑]

File:Ken Thompson and Dennis Ritchie.jpg
肯·汤普逊(左)和丹尼斯·里奇(右)

丹尼斯·里奇生於美國紐約州布隆克維。他的父親是《開關電路設計》(The Design of Switching Circuits)作者之一、貝爾實驗室的資深科學家阿利斯泰爾·里奇(Alistair E. Ritchie)。在丹尼斯還小的時候,他們家就搬到了新泽西州薩米特。他於當地的高中學業[6],之後到哈佛大学學習物理學應用數學。大學毕业後,里奇於1967年进入贝尔实验室工作。第二年他在計算機科學家脚本错误:没有“ilh”这个模块。的指導下發表了博士論文《程式結構與計算複雜性》(Program Structure and Computational Complexity),但是始終沒有正式獲得博士學位[7]

20世紀60年代,丹尼斯·里奇和肯·湯普遜參與了貝爾實驗室Multics系統的開發。然而之後不久貝爾實驗室又撤出了Multics計劃,於是湯普遜找到了一臺PDP-7機器,從頭開始開發應用程式和作業系統。在此期間,丹尼斯·里奇和湯普遜也帶領團隊進行系統的開發工作。1970年,布萊恩·柯林漢建议把系統命名為「Unix」,與「Multics」名字相對[8]。在完成Unix系統開發的基本工作之後,湯普遜覺得Unix系統需要一個系統級的編程語言,便創造了B語言。後來丹尼斯·里奇則在B語言的基礎上創造了C語言[9]

70年代,里奇曾與詹姆斯·里德(James Reeds)和脚本错误:没有“ilh”这个模块。合作研究對M-209密碼機的唯密文攻击。在早期Unix系統的crypt命令中就有部分內容來自這臺機器[10]。不過,經過與美国国家安全局的討論,他們決定不公開方法,因為公開攻擊原理會影響到其他正在政府服役的機器[10]

此外,里奇还參與了貝爾實驗室九號計畫Inferno作業系統以及Limbo語言的開發,而這些項目均是基於他以前的成果進一步開發的。貝爾實驗室在20世紀90年代中期重組時,他轉到了朗訊科技。在朗訊,他曾領導系统软件研究部门,直到2007年退休為止[11]

C語言與UNIX[编辑]

File:Version 7 Unix SIMH PDP11 Emulation DMR.png
PDP-11上面執行的Version 7 Unix,圖中的/usr/dmr即丹尼斯·里奇的家目錄

丹尼斯·里奇為人所知,主要是因為他創造了C語言,作為關鍵開發者參與了Unix作業系統的開發,並且與布萊恩·柯林漢共同撰寫了《C程式設計語言》——這本書所樹立的標準叫做「K&R C」,其中「K」指柯林漢,而「R」指的就是里奇。開發Unix時,里奇的一個重要貢獻是把Unix移植到不同的機器和平台之上[12]。在Unix領域二人非常有影響力,以至於後來開發Research Unix道格拉斯·麥克羅伊寫道「你可以安全地把丹尼斯·里奇和肯·湯普遜的名字放到幾乎所有未經其他人署名的地方。」[13]

当有人问里奇是什么启发他如此设计C语言时,里奇回答说“看來是件值得做的事”("looked like a good thing to do")。他说任何人在同一地方、同一时间也会像他那样做的。但是許多人認為這只是里奇的謙言,例如里奇在貝爾實驗室的同事、C++的創造者和設計師比雅尼·斯特劳斯特鲁普曾说:「假如里奇决定在那十年裡将他的精力花费在稀奇古怪的数学上,那么Unix将胎死腹中」。[14]

今天C語言廣泛用於各種應用程式、作業系統嵌入式系统的開發之中,並影響了大多數現代編程語言。Unix作業系統則建立了一系列作業系統的觀念和準則。

丹尼斯·里奇於1999年接受了一次採訪,表示自己看到LinuxBSD作業系統正在延續Unix發展,並說:[15]

页面Template:Quote/blockquote.css没有内容。

我覺得Linux發展的現象令人高興,因為它很大程度建立在Unix的基礎之上。在Unix的直接衍生品中,Linux應該是最健全的了,雖然工作站大型计算机廠商也在提供不同種類的BSD系統。

在這次採訪中,他還指出他的觀點實際上源於很多年以前自己、肯·湯普遜以及其他人的看法。[15]

榮譽和獲獎情況[编辑]

1983年,因為發展了通用作業系統理論並實現了UNIX作業系統,丹尼斯·里奇和肯·湯普遜二人一起獲得了图灵奖。里奇的圖靈獎論文題目為《對軟體研究的反思》(Reflections on Software Research)[16]。1990年,二人因「創造UNIX作業系統和C程式設計語言」而獲得了IEEE頒發的脚本错误:没有“ilh”这个模块。[17],1997年獲计算机历史博物馆研究員獎[18],在1999年4月21日又共同獲得了由美國總統比尔·克林顿頒發的脚本错误:没有“ilh”这个模块。[19][20]

2005年,脚本错误:没有“ilh”这个模块。授予丹尼斯·里奇脚本错误:没有“ilh”这个模块。,以表彰他對計算機科學技術做出的貢獻,以及UNIX作業系統對社會的廣泛影響[21]

2011年,丹尼斯·里奇和肯·湯普遜二人共同獲得了日本国际奖[22]

逝世[编辑]

File:Dennis Ritchie (right) Receiving Japan Prize.jpeg
道格拉斯·麥克羅伊(左)和丹尼斯·里奇,2011年5月

2011年10月12日,里奇於新澤西州脚本错误:没有“ilh”这个模块。的家中去世,享年70歲[2]。去世的消息由他之前的同事羅勃·派克提供[3][4],但未指明具體的去世時間和原因[23]。此前丹尼斯·里奇的健康狀況一直不佳,並且患有前列腺癌心臟病[2][3][24][25]

丹尼斯·里奇對電腦領域產生了深刻影響[26][27][28][29]。在里奇去世之後,電腦歷史學家脚本错误:没有“ilh”这个模块。評價說:[30]

页面Template:Quote/blockquote.css没有内容。

里奇的名字並不容易讓人察覺,也不為人熟知,但是……假如有一個能夠把電腦放大的顯微鏡,你會看到裡面到處都是他的貢獻。

他的同事布萊恩·柯林漢也接受了採訪,說里奇從未想過C語言能夠變得如此重要[31]。他告訴《紐約時報》,「丹尼斯創造的工具——以及它們的衍生品——現在正廣泛用於一切事物」[32]。他還提醒讀者,C語言和UNIX在之後各種著名專案的開發中發揮了非常重要的作用,例如iPhone[33][34]

有人將丹尼斯·里奇與史蒂夫·乔布斯進行對比,試圖探究二人之中誰更重要,然後得出一條結論,「在過去四十年的技術革命裡,里奇起到了關鍵作用——包括蘋果公司想要用來創造財富的技術」[35]。有人說「從另一方面講,丹尼斯·里奇發明了兩項關鍵的軟體技術,這種技術是直接或間接組成現在每一件電腦產品的DNA。它聽起來很瘋狂,可事實的確如此。」[36]還有人評價道,「許多在計算機科學和相關領域的人都清楚,里奇的重要性體現在一切需要通過電腦實現的工作之中」[37]

為紀念丹尼斯·里奇,Fedora的開發團隊將Fedora 16(發布於里奇去世一個月後)獻給他[38],而FreeBSD的開發團隊也將FreeBSD 9.0(發布於2012年1月12日)獻給他[39]

著作[编辑]

參考資料[编辑]

  1. 脚本错误:没有“citation/CS1”这个模块。
  2. 2.0 2.1 2.2 脚本错误:没有“citation/CS1”这个模块。
  3. 3.0 3.1 3.2 脚本错误:没有“citation/CS1”这个模块。
  4. 4.0 4.1 脚本错误:没有“citation/CS1”这个模块。
  5. 脚本错误:没有“citation/CS1”这个模块。
  6. 脚本错误:没有“citation/CS1”这个模块。
  7. 脚本错误:没有“Citation/CS1”这个模块。
  8. 脚本错误:没有“citation/CS1”这个模块。
  9. 脚本错误:没有“citation/CS1”这个模块。
  10. 10.0 10.1 脚本错误:没有“citation/CS1”这个模块。
  11. 脚本错误:没有“citation/CS1”这个模块。
  12. [Pioneer Programmer Shaped the Evolution of Computers, Wall Street Journal, 2011-10-14, p.A7]
  13. Template:Cite techreport
  14. 脚本错误:没有“citation/CS1”这个模块。
  15. 15.0 15.1 脚本错误:没有“citation/CS1”这个模块。
  16. 脚本错误:没有“citation/CS1”这个模块。
  17. 脚本错误:没有“citation/CS1”这个模块。
  18. 脚本错误:没有“citation/CS1”这个模块。
  19. 脚本错误:没有“citation/CS1”这个模块。
  20. 脚本错误:没有“citation/CS1”这个模块。
  21. 脚本错误:没有“citation/CS1”这个模块。
  22. 脚本错误:没有“citation/CS1”这个模块。
  23. 脚本错误:没有“citation/CS1”这个模块。
  24. 脚本错误:没有“citation/CS1”这个模块。
  25. 脚本错误:没有“citation/CS1”这个模块。
  26. 脚本错误:没有“citation/CS1”这个模块。
  27. 脚本错误:没有“citation/CS1”这个模块。
  28. 脚本错误:没有“citation/CS1”这个模块。
  29. 脚本错误:没有“citation/CS1”这个模块。
  30. 脚本错误:没有“citation/CS1”这个模块。
  31. 脚本错误:没有“citation/CS1”这个模块。
  32. 脚本错误:没有“citation/CS1”这个模块。
  33. 脚本错误:没有“citation/CS1”这个模块。
  34. 脚本错误:没有“citation/CS1”这个模块。
  35. 脚本错误:没有“citation/CS1”这个模块。
  36. 脚本错误:没有“citation/CS1”这个模块。
  37. 脚本错误:没有“citation/CS1”这个模块。
  38. 脚本错误:没有“citation/CS1”这个模块。
  39. 脚本错误:没有“citation/CS1”这个模块。

外部連結[编辑]

package.lua第80行Lua错误:module 'Module:Navbar/configuration' not found Template:日本国际奖获得者 Template:Richard W. Hamming Medal recipients package.lua第80行Lua错误:module 'Module:Authority control/config' not found脚本错误:没有“Check for unknown parameters”这个模块。