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