昨日,在眾多的國際互動論壇上,計算機(jī)愛好者們以特有的方式紀(jì)念這位編程語言的重要奠基人。許多網(wǎng)友的發(fā)帖中沒有片言只字,僅僅留下一個分號“;”。在C語言中,分號標(biāo)志著一行指令語句的結(jié)束,網(wǎng)友們以此來悼念“C語言之父”,美國著名計算機(jī)專家丹尼斯·里奇(Dennis Ritchie)所引領(lǐng)的時代悄然遠(yuǎn)去。
在日益紛繁復(fù)雜的程序設(shè)計語言王國中,C語言因其簡潔、有效、通用的特性而始終占據(jù)一席之地。被譽(yù)為“C語言之父”,同時也是操作系統(tǒng)Unix之父的C語言發(fā)明人之一丹尼斯·里奇10月9日以70歲之齡辭世。
生于1941年9月9日的丹尼斯·里奇曾在哈佛大學(xué)學(xué)習(xí)物理學(xué)和應(yīng)用數(shù)學(xué),1967年他進(jìn)入貝爾實(shí)驗(yàn)室,并曾經(jīng)擔(dān)任朗訊技術(shù)公司系統(tǒng)軟件研究部門的領(lǐng)導(dǎo)人。
1983年,美國計算機(jī)協(xié)會將當(dāng)年的圖靈獎破例頒給了作為軟件工程師的肯·湯普遜與里奇,獲獎原因是他們“研究發(fā)展了通用的操作系統(tǒng)理論,尤其是實(shí)現(xiàn)了Unix操作系統(tǒng)”。并且,美國計算機(jī)協(xié)會當(dāng)年還決定新設(shè)立一個獎項軟件系統(tǒng)獎,以獎勵那些優(yōu)秀的軟件開發(fā)者,首個軟件系統(tǒng)獎當(dāng)然也是非他們兩人莫屬。
盡管通過Unix拿獎拿到手軟,但令里奇引起最大關(guān)注和反響的則是C語言的問世。1999年,里奇和湯普遜為發(fā)展C語言和Unix操作系統(tǒng)一起獲得了美國國家技術(shù)獎?wù)隆?/p>
雖然在C語言之后,C++、Java等各式各樣計算機(jī)高級語言層出不窮,但不少程序員仍舊認(rèn)為,C語言簡潔、高效、靈活的特性令其具有獨(dú)特魅力?!艾F(xiàn)在的程序編寫朝著越來越冗長龐大的方向發(fā)展,而C語言雖然屬于相對‘低級’的編程語言,但它的簡潔之美是無可替代的?!币晃浑娔X程序員道出了自己格外青睞C語言的原因。
和里奇所創(chuàng)造的C語言一樣,Unix系統(tǒng)也同樣具有簡潔、樸素、小巧的特性。但正如里奇自己所說的那樣,“Unix系統(tǒng)是一個簡單基本的操作系統(tǒng),但學(xué)會欣賞簡潔需要天賦?!倍锲姹救?,盡管在軟件發(fā)展史上占有舉足輕重的地位,也同樣在從事的領(lǐng)域辛勤而低調(diào)地耕耘近40年。
在悼念里奇的論壇上,眾多粉絲表達(dá)了對這位“C語言之父”常年堅持的敬意,一位粉絲留言表示:“感謝丹尼斯·里奇,令我們擁有這一簡潔而美麗的語言?!?/p>
而谷歌工程師派克則在Google+中稱:“我獲知丹尼斯·里奇在忍受了長期的病痛折磨后在家中去世。此外,我沒有獲得更多的信息?!?/p>
延伸閱讀
“C語言之父”也是“黑客之父”
由于C語言和Unix兩項成就,里奇成為許多編程愛好者膜拜的對象。里奇在1978年出版的《C程序設(shè)計語言》被程序員們稱為“白皮書”,獲得狂熱擁戴。
然而,由于C語言的簡潔和高效,也成為入侵他人電腦的利器之一。里奇因此被諸多電腦黑客尊為導(dǎo)師,雖然里奇本人并不認(rèn)可這一說法。
在Unix研發(fā)成功后不久,安裝了這一程序的PDP-11被放在貝爾實(shí)驗(yàn)室供大家使用。有一天,大家發(fā)現(xiàn)兩位創(chuàng)始人總是可以得到最高的權(quán)限輕松進(jìn)入他們的帳戶,在貝爾實(shí)驗(yàn)室這種高人云集的地方,這簡直是太不能容忍的事情了。于是,若干憤懣的同事仔細(xì)分析Unix代碼,找到后門,修改后再重新編譯整個Unix程序。當(dāng)所有人都以為這個世界應(yīng)該從此清靜了的時候,卻發(fā)現(xiàn)他們的帳戶權(quán)限還是很容易泄露。直到很多年后,肯和里奇才道出其中的原委原來代碼里確實(shí)存在后門,不過并不在Unix代碼中,而是藏在編譯Unix的編譯器里。
為玩游戲研成C語言
作為一門偉大的編程語言,C語言是借助Unix操作系統(tǒng)的翅膀而起飛的,Unix操作系統(tǒng)也由于C語言的存在而得以快速落地生根,兩者相輔相成,成就了軟件史上最精彩的一幕。
不可思議的是,當(dāng)初Unix這個操作系統(tǒng)的誕生,并不是為了推向市場,甚至不是為了讓更多人使用,而僅僅是作者為了方便自己使用,而且初衷是為了能更流暢地玩游戲。連Unix這個別扭的名字,也是對早期一個名為Multics操作系統(tǒng)開玩笑的稱呼。
1967年,里奇參與的第一個項目是Multics,這是一個操作系統(tǒng)項目,被設(shè)計在大型計算機(jī)主機(jī)上運(yùn)行,但是由于整個目標(biāo)過于龐大,糅合了太多的特性,Multics的性能很低,最終以失敗而告終。Multics項目的開發(fā)者之一肯·湯普遜則繼續(xù)為GE-5開發(fā)軟件,并最終編寫了一個新操作系統(tǒng)項目,能夠支持同時的多用戶操作,也就是后來的Unix。
在不經(jīng)意間,奇跡誕生了,由于Unix諸多優(yōu)點(diǎn),人們將它稱為軟件中的瑞士軍刀。這再一次驗(yàn)證了IT業(yè)的創(chuàng)新往往是興趣,而不是大把大把的金錢使然。
最初的Unix是用匯編語言編寫的,一些應(yīng)用是由叫做B語言的解釋型語言和匯編語言混合編寫的,在移植的過程中遇到不少麻煩。早在對Multics項目調(diào)整過程中,就迫切需要一門高級計算機(jī)語言做工具,為了解決程序的可移植性問題,肯·湯普遜和丹尼斯·里奇決定對它進(jìn)行簡單改進(jìn),形成NB語言。但NB在Unix的移植方面依然不盡人意,此后里奇又對NB語言做了改進(jìn),C語言誕生。
這被計算機(jī)界認(rèn)為是一個劃時代的動作,C語言讓Unix能夠輕易地被移植到各種不同的機(jī)器上,為Unix的迅速普及立下汗馬功勞。
聯(lián)系客服