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