計算機(jī)軟件領(lǐng)域大明星丹尼斯里奇和林納斯誰更偉大?
前言
在計算機(jī)軟件領(lǐng)域,做出過重大貢獻(xiàn)的神人很多,在這閃耀的明星中,最為閃耀的莫過于「Linus Torvalds和Dennis Ritchie」。
那么這兩位誰的貢獻(xiàn)更大呢?
這是一個很難回答的問題,就如同關(guān)公戰(zhàn)秦瓊,仁者見仁,智者見智。
還是先對兩位大神做個介紹吧。
一、Dennis Ritchie
C語言之父,UNIX之父。
1) Dennis Ritchie(1941年- 2011年10月12日)
Dennis Ritchie
Dennis Ritchie曾擔(dān)任朗訊科技公司貝爾實驗室下屬的計算機(jī)科學(xué)研究中心系統(tǒng)軟件研究部的主任一職。1978年與布萊恩·科爾尼干(Brian W. Kernighan)一起出版了名著《C程序設(shè)計語言(The C Programming Language)》。此書已翻譯成多種語言,被譽(yù)為c語言的圣經(jīng)。
2011年10月12日,共事20年的同事Rob Pike從加州到新澤西去拜訪他,才發(fā)現(xiàn)他已經(jīng)去世了。由于是獨(dú)居,無法知道準(zhǔn)確的死亡時間。享年70歲。
丹尼斯·里奇生平
丹尼斯·里奇因為一直都是單身(大神的思想境界真的)
2) C語言
丹尼斯·里奇創(chuàng)建了C編程語言和Unix 操作系統(tǒng)。無論是這其中哪一個項目,都可以讓他在計算機(jī)界傲視群雄。而丹尼里奇開發(fā)了兩大項目,可以說是計算機(jī)史上獨(dú)一無二的。
事實上,C語言在各種軟件程序,嵌入式系統(tǒng)開發(fā),操作系統(tǒng)中,使用是最廣泛的。同時,C語言也影響了大多數(shù)現(xiàn)代主流的編程語言。
1960s年代后期,貝爾實驗室對計算機(jī)系統(tǒng)的研究進(jìn)入繁盛時期。MIT、General Electric、Bell實驗室合作的Mutlics項目以失敗而告終(1969年左右)。
就是在這個時期,Ken Tompson開始寫Mutlics的替代品,他希望按照自己的設(shè)計構(gòu)造一個令人舒服的計算系統(tǒng)(也就是Unix)。
后來在寫出第一個版本的Unix時,覺得Unix上需要一個新的系統(tǒng)編程語言,他創(chuàng)造了一個B語言。B語言是沒有類型的C,準(zhǔn)確說B語言是Tompson把BCPL擠進(jìn)8K內(nèi)存,被其個人大腦過濾后的產(chǎn)生的語言。
由于B語言存在的一些問題,導(dǎo)致其只是被用來寫一些命令工具使用。恰好在這個時期,Ritchie在B語言的基礎(chǔ)上,進(jìn)行了重新的設(shè)計改良,從而誕生了C語言。
1973年,C語言基本上已經(jīng)完備,從語言和編譯器層面已經(jīng)足夠讓Tompson和Ritchie使用C語言重寫Unix內(nèi)核。后來,Unix在一些研究機(jī)構(gòu)、大學(xué)、政府機(jī)關(guān)開始慢慢流行起來,進(jìn)而帶動了C語言的發(fā)展。
1978年,K&R編寫的《The C Programming Language》出版,進(jìn)一步推動了C語言的普及。
3) unix
Unix的誕生與C語言被廣泛的傳播、使用,有著密切的聯(lián)系。
上圖時間線只顯示前幾個與C語言在相同時間段內(nèi)誕生的Unix版本。
后來學(xué)術(shù)和政府組織中都在使用Unix,也正是由于Unix的風(fēng)靡與興盛,帶動了C語言被廣泛的傳播、使用。
在1980年代,C語言的使用廣泛傳播,并且?guī)缀跛袡C(jī)器體系結(jié)構(gòu)和操作系統(tǒng)都可以使用編譯器。尤其是,它已成為個人計算機(jī)的編程工具,無論是用于這些機(jī)器的商業(yè)軟件制造商,還是對編程感興趣的最終用戶,都非常受歡迎。
Unix分支,實在太震撼了。
來看看其中最著名的幾個分支:BSD、minix、Linux、Mac OS X...
足可見unix對現(xiàn)在操作系統(tǒng)的影響,其地位就像《易經(jīng)》,為群經(jīng)之首。
4) 第一個C語言編譯器是怎樣編寫的?
不知道你有沒有想過,大家都用C語言或基于C語言的語言來寫編譯器,那么世界上第一個C語言編譯器又是怎么編寫的呢?這不是一個“雞和蛋”的問題……
回顧一下C語言歷史:Tomphson在BCPL的基礎(chǔ)上開發(fā)了B語言,Ritchie又在B語言的基礎(chǔ)上成功開發(fā)出了現(xiàn)在的C語言。在C語言被用作系統(tǒng)編程語言之前,Tomphson也用過B語言編寫過操作系統(tǒng)。可見在C語言實現(xiàn)以前,B語言已經(jīng)可以投入使用了。因此第一個C語言編譯器的原型完全可能是用B語言或者混合B語言與PDP匯編語言編寫的。
我們現(xiàn)在都知道,B語言的執(zhí)行效率比較低,但是如果全部用匯編語言來編寫,不僅開發(fā)周期長、維護(hù)難度大,更可怕的是失去了高級程序設(shè)計語言必需的移植性。
所以早期的C語言編譯器就采取了一個取巧的辦法:先用匯編語言編寫一個C語言的一個子集的編譯器,再通過這個子集去遞推,進(jìn)而完成完整的C語言編譯器。
所以創(chuàng)建第一個C編譯器的難度不亞于創(chuàng)造C語言的難度。
如果還不理解,舉個例子,我們要建一個大廈,圖紙什么的都已經(jīng)設(shè)計好了,要開工建設(shè)。
那么用于建造大樓的各種設(shè)備和工具:塔吊、腳手架、鉗子、螺絲刀、水平儀、卷尺等等,這些所有用到的所有工具,都是無數(shù)的公司的公司經(jīng)過多年不斷研發(fā)積累才達(dá)到今天的標(biāo)準(zhǔn)。
而編譯c語言的編譯器,就相當(dāng)于建設(shè)大樓所需要的各種工具,丹尼斯不光親自設(shè)計了C語言,還親自從頭到尾設(shè)計這一整套的工具。
這個工作是創(chuàng)造性的,可參考內(nèi)容并不是很多,其難度可想而知。

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
6月20日立即下載>> 【白皮書】精準(zhǔn)測量 安全高效——福祿克光伏行業(yè)解決方案
-
7月3日立即報名>> 【在線會議】英飛凌新一代智能照明方案賦能綠色建筑與工業(yè)互聯(lián)
-
7月22-29日立即報名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會
-
7.30-8.1火熱報名中>> 全數(shù)會2025(第六屆)機(jī)器人及智能工廠展
-
7月31日免費(fèi)預(yù)約>> OFweek 2025具身機(jī)器人動力電池技術(shù)應(yīng)用大會
-
免費(fèi)參會立即報名>> 7月30日- 8月1日 2025全數(shù)會工業(yè)芯片與傳感儀表展
推薦專題
- 1 AI 眼鏡讓百萬 APP「集體失業(yè)」?
- 2 大廠紛紛入局,百度、阿里、字節(jié)搶奪Agent話語權(quán)
- 3 深度報告|中國AI產(chǎn)業(yè)正在崛起成全球力量,市場潛力和關(guān)鍵挑戰(zhàn)有哪些?
- 4 一文看懂視覺語言動作模型(VLA)及其應(yīng)用
- 5 上海跑出80億超級獨(dú)角獸:獲上市公司戰(zhàn)投,干人形機(jī)器人
- 6 國家數(shù)據(jù)局局長劉烈宏調(diào)研格創(chuàng)東智
- 7 下一代入口之戰(zhàn):大廠為何紛紛押注智能體?
- 8 百億AI芯片訂單,瘋狂傾銷中東?
- 9 Robotaxi新消息密集釋放,量產(chǎn)元年誰在領(lǐng)跑?
- 10 格斗大賽出圈!人形機(jī)器人致命短板曝光:頭腦過于簡單