訂閱
糾錯(cuò)
加入自媒體

計(jì)算機(jī)軟件領(lǐng)域大明星丹尼斯里奇和林納斯誰(shuí)更偉大?

前言

在計(jì)算機(jī)軟件領(lǐng)域,做出過(guò)重大貢獻(xiàn)的神人很多,在這閃耀的明星中,最為閃耀的莫過(guò)于「Linus  Torvalds和Dennis Ritchie」。

那么這兩位誰(shuí)的貢獻(xiàn)更大呢?

這是一個(gè)很難回答的問(wèn)題,就如同關(guān)公戰(zhàn)秦瓊,仁者見(jiàn)仁,智者見(jiàn)智。

還是先對(duì)兩位大神做個(gè)介紹吧。

一、Dennis Ritchie

C語(yǔ)言之父,UNIX之父。

1) Dennis Ritchie(1941年- 2011年10月12日)

Dennis Ritchie

Dennis Ritchie曾擔(dān)任朗訊科技公司貝爾實(shí)驗(yàn)室下屬的計(jì)算機(jī)科學(xué)研究中心系統(tǒng)軟件研究部的主任一職。1978年與布萊恩·科爾尼干(Brian W. Kernighan)一起出版了名著《C程序設(shè)計(jì)語(yǔ)言(The C Programming Language)》。此書(shū)已翻譯成多種語(yǔ)言,被譽(yù)為c語(yǔ)言的圣經(jīng)。

2011年10月12日,共事20年的同事Rob Pike從加州到新澤西去拜訪他,才發(fā)現(xiàn)他已經(jīng)去世了。由于是獨(dú)居,無(wú)法知道準(zhǔn)確的死亡時(shí)間。享年70歲。

丹尼斯·里奇生平

丹尼斯·里奇因?yàn)橐恢倍际菃紊恚ù笊竦乃枷刖辰缯娴模?/p>

2) C語(yǔ)言

丹尼斯·里奇創(chuàng)建了C編程語(yǔ)言和Unix 操作系統(tǒng)。無(wú)論是這其中哪一個(gè)項(xiàng)目,都可以讓他在計(jì)算機(jī)界傲視群雄。而丹尼里奇開(kāi)發(fā)了兩大項(xiàng)目,可以說(shuō)是計(jì)算機(jī)史上獨(dú)一無(wú)二的。

事實(shí)上,C語(yǔ)言在各種軟件程序,嵌入式系統(tǒng)開(kāi)發(fā),操作系統(tǒng)中,使用是最廣泛的。同時(shí),C語(yǔ)言也影響了大多數(shù)現(xiàn)代主流的編程語(yǔ)言。

1960s年代后期,貝爾實(shí)驗(yàn)室對(duì)計(jì)算機(jī)系統(tǒng)的研究進(jìn)入繁盛時(shí)期。MIT、General Electric、Bell實(shí)驗(yàn)室合作的Mutlics項(xiàng)目以失敗而告終(1969年左右)。

就是在這個(gè)時(shí)期,Ken Tompson開(kāi)始寫Mutlics的替代品,他希望按照自己的設(shè)計(jì)構(gòu)造一個(gè)令人舒服的計(jì)算系統(tǒng)(也就是Unix)。

后來(lái)在寫出第一個(gè)版本的Unix時(shí),覺(jué)得Unix上需要一個(gè)新的系統(tǒng)編程語(yǔ)言,他創(chuàng)造了一個(gè)B語(yǔ)言。B語(yǔ)言是沒(méi)有類型的C,準(zhǔn)確說(shuō)B語(yǔ)言是Tompson把BCPL擠進(jìn)8K內(nèi)存,被其個(gè)人大腦過(guò)濾后的產(chǎn)生的語(yǔ)言。

由于B語(yǔ)言存在的一些問(wèn)題,導(dǎo)致其只是被用來(lái)寫一些命令工具使用。恰好在這個(gè)時(shí)期,Ritchie在B語(yǔ)言的基礎(chǔ)上,進(jìn)行了重新的設(shè)計(jì)改良,從而誕生了C語(yǔ)言。

1973年,C語(yǔ)言基本上已經(jīng)完備,從語(yǔ)言和編譯器層面已經(jīng)足夠讓Tompson和Ritchie使用C語(yǔ)言重寫Unix內(nèi)核。后來(lái),Unix在一些研究機(jī)構(gòu)、大學(xué)、政府機(jī)關(guān)開(kāi)始慢慢流行起來(lái),進(jìn)而帶動(dòng)了C語(yǔ)言的發(fā)展。

1978年,K&R編寫的《The C Programming Language》出版,進(jìn)一步推動(dòng)了C語(yǔ)言的普及。

3)  unix

Unix的誕生與C語(yǔ)言被廣泛的傳播、使用,有著密切的聯(lián)系。

上圖時(shí)間線只顯示前幾個(gè)與C語(yǔ)言在相同時(shí)間段內(nèi)誕生的Unix版本。

后來(lái)學(xué)術(shù)和政府組織中都在使用Unix,也正是由于Unix的風(fēng)靡與興盛,帶動(dòng)了C語(yǔ)言被廣泛的傳播、使用。

在1980年代,C語(yǔ)言的使用廣泛傳播,并且?guī)缀跛袡C(jī)器體系結(jié)構(gòu)和操作系統(tǒng)都可以使用編譯器。尤其是,它已成為個(gè)人計(jì)算機(jī)的編程工具,無(wú)論是用于這些機(jī)器的商業(yè)軟件制造商,還是對(duì)編程感興趣的最終用戶,都非常受歡迎。

Unix分支,實(shí)在太震撼了。

來(lái)看看其中最著名的幾個(gè)分支:BSD、minix、Linux、Mac OS X...

足可見(jiàn)unix對(duì)現(xiàn)在操作系統(tǒng)的影響,其地位就像《易經(jīng)》,為群經(jīng)之首。

4)  第一個(gè)C語(yǔ)言編譯器是怎樣編寫的?

不知道你有沒(méi)有想過(guò),大家都用C語(yǔ)言或基于C語(yǔ)言的語(yǔ)言來(lái)寫編譯器,那么世界上第一個(gè)C語(yǔ)言編譯器又是怎么編寫的呢?這不是一個(gè)“雞和蛋”的問(wèn)題……

回顧一下C語(yǔ)言歷史:Tomphson在BCPL的基礎(chǔ)上開(kāi)發(fā)了B語(yǔ)言,Ritchie又在B語(yǔ)言的基礎(chǔ)上成功開(kāi)發(fā)出了現(xiàn)在的C語(yǔ)言。在C語(yǔ)言被用作系統(tǒng)編程語(yǔ)言之前,Tomphson也用過(guò)B語(yǔ)言編寫過(guò)操作系統(tǒng)?梢(jiàn)在C語(yǔ)言實(shí)現(xiàn)以前,B語(yǔ)言已經(jīng)可以投入使用了。因此第一個(gè)C語(yǔ)言編譯器的原型完全可能是用B語(yǔ)言或者混合B語(yǔ)言與PDP匯編語(yǔ)言編寫的。

我們現(xiàn)在都知道,B語(yǔ)言的執(zhí)行效率比較低,但是如果全部用匯編語(yǔ)言來(lái)編寫,不僅開(kāi)發(fā)周期長(zhǎng)、維護(hù)難度大,更可怕的是失去了高級(jí)程序設(shè)計(jì)語(yǔ)言必需的移植性。

所以早期的C語(yǔ)言編譯器就采取了一個(gè)取巧的辦法:先用匯編語(yǔ)言編寫一個(gè)C語(yǔ)言的一個(gè)子集的編譯器,再通過(guò)這個(gè)子集去遞推,進(jìn)而完成完整的C語(yǔ)言編譯器。

所以創(chuàng)建第一個(gè)C編譯器的難度不亞于創(chuàng)造C語(yǔ)言的難度。

如果還不理解,舉個(gè)例子,我們要建一個(gè)大廈,圖紙什么的都已經(jīng)設(shè)計(jì)好了,要開(kāi)工建設(shè)。

那么用于建造大樓的各種設(shè)備和工具:塔吊、腳手架、鉗子、螺絲刀、水平儀、卷尺等等,這些所有用到的所有工具,都是無(wú)數(shù)的公司的公司經(jīng)過(guò)多年不斷研發(fā)積累才達(dá)到今天的標(biāo)準(zhǔn)。

而編譯c語(yǔ)言的編譯器,就相當(dāng)于建設(shè)大樓所需要的各種工具,丹尼斯不光親自設(shè)計(jì)了C語(yǔ)言,還親自從頭到尾設(shè)計(jì)這一整套的工具。

這個(gè)工作是創(chuàng)造性的,可參考內(nèi)容并不是很多,其難度可想而知。

1  2  3  下一頁(yè)>  
聲明: 本文由入駐維科號(hào)的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

    掃碼關(guān)注公眾號(hào)
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯(cuò)
    x
    *文字標(biāo)題:
    *糾錯(cuò)內(nèi)容:
    聯(lián)系郵箱:
    *驗(yàn) 證 碼:

    粵公網(wǎng)安備 44030502002758號(hào)