丹(dan)尼斯·里奇,C語言(yan)(yan)之父,UNIX之父。曾(ceng)擔(dan)任朗訊科(ke)技公司貝爾實(shi)驗室下屬(shu)的(de)計(ji)算機(ji)科(ke)學研究中心系統軟件研究部(bu)的(de)主(zhu)任一(yi)職(zhi)。1978年(nian)與布(bu)萊恩·科(ke)爾尼干(gan)(Brian W. Kernighan)一(yi)起出版了名著《C程(cheng)序設計(ji)語言(yan)(yan)(The C Programming Language)》。此書已翻(fan)譯成多種語言(yan)(yan),被(bei)譽為c語言(yan)(yan)的(de)圣經。2011年(nian)10月(yue)12日(ri)(北京時(shi)間為10月(yue)13日(ri)),丹(dan)尼斯·里奇去(qu)世(shi),享年(nian)70歲。
丹(dan)尼斯·里(li)奇(qi)獲(huo)得學(xue)士學(xue)位并且(qie)獲(huo)得哈佛大學(xue)更高(gao)的(de)(de)(de)(de)(de)學(xue)位,在(zai)那里(li)以(yi)(yi)肄業(ye)生資格學(xue)習物理(li)(li)(li),以(yi)(yi)研究(jiu)生資格學(xue)習應用數學(xue)。這時(shi)(shi)候(hou),一(yi)(yi)個偶然(ran)的(de)(de)(de)(de)(de)機(ji)(ji)會改變了(le)他(ta)一(yi)(yi)生的(de)(de)(de)(de)(de)選擇。里(li)奇(qi)這樣描(miao)述他(ta)的(de)(de)(de)(de)(de)轉變,當他(ta)聽(ting)取一(yi)(yi)些非課(ke)程(cheng)類(lei)的(de)(de)(de)(de)(de)計(ji)(ji)算機(ji)(ji)講座后(hou)(大約1960年(nian)(nian)),開(kai)始對計(ji)(ji)算機(ji)(ji)著迷,并選擇了(le)一(yi)(yi)學(xue)期正規(介紹性(xing)的(de)(de)(de)(de)(de))課(ke)程(cheng)。第一(yi)(yi)部分(fen)是(shi)(shi)(shi)模擬計(ji)(ji)算機(ji)(ji),后(hou)面(mian)(mian)是(shi)(shi)(shi)關(guan)于打孔卡片(pian)設備的(de)(de)(de)(de)(de),然(ran)后(hou)是(shi)(shi)(shi)關(guan)于真正的(de)(de)(de)(de)(de)數字式計(ji)(ji)算機(ji)(ji)的(de)(de)(de)(de)(de),并為Univac I號(hao)機(ji)(ji)準備了(le)一(yi)(yi)個程(cheng)序。當時(shi)(shi)他(ta)是(shi)(shi)(shi)一(yi)(yi)個主(zhu)修(xiu)物理(li)(li)(li)學(xue)的(de)(de)(de)(de)(de)學(xue)生,但(dan)(dan)是(shi)(shi)(shi)更加(jia)著迷于計(ji)(ji)算機(ji)(ji)處(chu)(chu)理(li)(li)(li)的(de)(de)(de)(de)(de)理(li)(li)(li)論(lun)和實(shi)際(ji)問(wen)題。因此,他(ta)的(de)(de)(de)(de)(de)畢業(ye)論(lun)文大部分(fen)是(shi)(shi)(shi)理(li)(li)(li)論(lun)方面(mian)(mian)的(de)(de)(de)(de)(de)(遞歸(gui)函數的(de)(de)(de)(de)(de)層(ceng)次),但(dan)(dan)是(shi)(shi)(shi)也(ye)開(kai)始投入更大精力到實(shi)踐(jian)方面(mian)(mian)。作為助教(jiao)為同一(yi)(yi)個介紹性(xing)課(ke)程(cheng)的(de)(de)(de)(de)(de)后(hou)續版本(ben)工作了(le)三年(nian)(nian)——不(bu)過那時(shi)(shi)計(ji)(ji)算機(ji)(ji)已經(jing)成(cheng)了(le)IBM7049。 1968年(nian)(nian)獲(huo)得數學(xue)博(bo)士,而論(lun)文正是(shi)(shi)(shi)上面(mian)(mian)的(de)(de)(de)(de)(de)《遞歸(gui)函數的(de)(de)(de)(de)(de)的(de)(de)(de)(de)(de)層(ceng)次》。1967年(nian)(nian)加(jia)入貝爾實(shi)驗(yan)室(shi),他(ta)的(de)(de)(de)(de)(de)父親(qin)阿利(li)斯泰爾·里(li)奇(qi)(Alistair E. Ritchie)在(zai)那里(li)有長(chang)時(shi)(shi)間的(de)(de)(de)(de)(de)工作經(jing)歷,他(ta)的(de)(de)(de)(de)(de)父親(qin)對晶體管(guan)電路類(lei)的(de)(de)(de)(de)(de)東(dong)西很有研究(jiu),正是(shi)(shi)(shi)由于父親(qin)的(de)(de)(de)(de)(de)影響,也(ye)使(shi)得他(ta)走上了(le)科學(xue)研究(jiu)之(zhi)路。不(bu)久后(hou),加(jia)入了(le)Multics項目(mu),那時(shi)(shi)由貝爾實(shi)驗(yan)室(shi)、麻省理(li)(li)(li)工學(xue)院(yuan)和通用電器三家的(de)(de)(de)(de)(de)合(he)作項目(mu)。里(li)奇(qi)負責多道處(chu)(chu)理(li)(li)(li)機(ji)(ji)的(de)(de)(de)(de)(de)BCPL語言和GE650的(de)(de)(de)(de)(de)編(bian)譯器,它們都是(shi)(shi)(shi)屬于GECOS系(xi)統的(de)(de)(de)(de)(de)。同樣的(de)(de)(de)(de)(de),他(ta)也(ye)寫(xie)了(le)ALTRAN語言的(de)(de)(de)(de)(de)代數編(bian)譯器,那是(shi)(shi)(shi)用于符號(hao)計(ji)(ji)算機(ji)(ji)的(de)(de)(de)(de)(de)一(yi)(yi)種(zhong)語言和系(xi)統。
《The C Programming Language》(《C程序設計語言》)
《Unix Programmer's Manual》
C語(yu)言(yan)(yan)是使用(yong)廣泛的(de)(de)(de)(de)(de)語(yu)言(yan)(yan)之(zhi)一(yi),可以說,C語(yu)言(yan)(yan)的(de)(de)(de)(de)(de)誕生是現代(dai)程(cheng)序(xu)語(yu)言(yan)(yan)革(ge)命的(de)(de)(de)(de)(de)起點(dian),是程(cheng)序(xu)設計(ji)語(yu)言(yan)(yan)發展史中的(de)(de)(de)(de)(de)一(yi)個(ge)(ge)里程(cheng)碑。自C語(yu)言(yan)(yan)出現后,以C語(yu)言(yan)(yan)為根基的(de)(de)(de)(de)(de)C++、Java和(he)C#等面向對象語(yu)言(yan)(yan)相繼誕生,并在各(ge)自領域大獲成功。但C語(yu)言(yan)(yan)依舊在系(xi)統編程(cheng)、嵌入式(shi)編程(cheng)等領域占據著統治地(di)位。C語(yu)言(yan)(yan),這種有效(xiao)、通用(yong)的(de)(de)(de)(de)(de)編程(cheng)語(yu)言(yan)(yan),就是他開發的(de)(de)(de)(de)(de),而這還是他在做另一(yi)個(ge)(ge)項目時的(de)(de)(de)(de)(de)副(fu)(fu)產品。丹尼(ni)斯·里奇(qi)還和(he)肯·湯普遜一(yi)起開發了Unix操作系(xi)統,因此,他還是名副(fu)(fu)其實的(de)(de)(de)(de)(de)Unix之(zhi)父。
從二十世(shi)紀七十年(nian)代起,他的(de)(de)工(gong)(gong)作得到了(le)很多計(ji)算機(ji)組(zu)織的(de)(de)公認和表彰,如:美國(guo)計(ji)算機(ji)協會(ACM)授予(yu)的(de)(de)系統及語(yu)言杰出論文獎(jiang)(1974);電(dian)氣和電(dian)子工(gong)(gong)程師協會(IEEE)的(de)(de) Emmanuel Piore 獎(jiang)(1982);貝(bei)爾(er)實驗室特別人員獎(jiang)(1983);美國(guo)計(ji)算機(ji)協會(ACM)的(de)(de)圖靈獎(jiang)(1983); NEC公司的(de)(de)基金獎(jiang)(1989);電(dian)氣和電(dian)子工(gong)(gong)程師協會(IEEE)的(de)(de)優(you)秀獎(jiang)章;漢明(ming)勛(xun)章(1990);計(ji)算機(ji)先驅獎(jiang) (1994);計(ji)算機(ji)歷史博物館研究(jiu)員 (1997) ;哈羅德·潘德獎(jiang)(2003);日本獎(jiang) (2011)
在(zai)里(li)奇去世后,計算(suan)機歷(li)史學家Paul E. Ceruzzi說(shuo):
里奇(qi)不被人們(men)知道。他(ta)的名(ming)字(zi)一點(dian)也不家喻戶曉,但(dan)是(shi)……如(ru)果你有(you)一臺顯微鏡,能在(zai)電腦(nao)里看到他(ta)的作(zuo)品,你會發現里面到處都是(shi)他(ta)的作(zuo)品。
著(zhu)名的(de)計算機科學家 N.Wirth評價他(ta)(ta)說(shuo), 丹尼(ni)斯里奇先生(sheng)(sheng)的(de)專業精(jing)神令人感動,近40年如一(yi)日,在他(ta)(ta)所(suo)從事(shi)的(de)領域辛勤(qin)耕耘,他(ta)(ta)的(de)多項發明,包(bao)括C語(yu)(yu)言,Unix,也包(bao)括Plan9,無論哪一(yi)項,在軟件發展史上都有著(zhu)舉足(zu)輕(qing)重(zhong)的(de)地(di)位,和他(ta)(ta)的(de)偉大成就形成對(dui)照的(de)是他(ta)(ta)的(de)行事(shi),態度(du)低調,他(ta)(ta)的(de)表達(da),象他(ta)(ta)的(de)軟件一(yi)樣,簡(jian)潔(jie)生(sheng)(sheng)動而準確。 C++的(de)成功,很大一(yi)部(bu)分也來(lai)自于C,是C語(yu)(yu)言的(de)普及和深入(ru),才有了后面的(de)鳳凰(huang)涅槃,從另一(yi)個角度(du),在同另一(yi)語(yu)(yu)言大師Pascal之父(fu)Niklaus Wirth交流時,C++的(de)名字也是源自C語(yu)(yu)言的(de)利器,Wirth先生(sheng)(sheng)不無惋惜地(di)表示(shi),后來(lai)他(ta)(ta)開發的(de)語(yu)(yu)言可(ke)惜沒叫Pascal2。
“他是虔誠而純粹的計算機(ji)天(tian)才,侵犯他人電腦(nao)是絕(jue)不干(gan)的。”潘嘉杰說。
麻省理工大(da)學(xue)計(ji)算機系的(de)(de)(de)馬丁教授評價說:如果(guo)說,喬(qiao)布(bu)斯是可視化產(chan)品(pin)(pin)(pin)中(zhong)的(de)(de)(de)國(guo)王(wang),那么里奇就(jiu)是不可見(jian)王(wang)國(guo)中(zhong)的(de)(de)(de)君主。喬(qiao)布(bu)斯的(de)(de)(de)貢獻在于,他如此了解用戶的(de)(de)(de)需求(qiu)和渴求(qiu),以至于創造出了讓(rang)當代人(ren)樂不思蜀的(de)(de)(de)科技產(chan)品(pin)(pin)(pin)。然(ran)而,卻(que)是里奇先生為(wei)這些產(chan)品(pin)(pin)(pin)提供了核心的(de)(de)(de)部(bu)(bu)件,人(ren)們看不到這些部(bu)(bu)件,卻(que)每天(tian)都在使用著。
克(ke)尼漢評(ping)價(jia)道(dao):牛頓(dun)說他是站在巨(ju)人的(de)肩膀(bang)上(shang),如今,我們都站在里奇的(de)肩膀(bang)上(shang)。