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