C語(yǔ)言之父和Linux之父,誰(shuí)更偉大?
前言
在計(jì)算機(jī)軟件領(lǐng)域,做出過(guò)重大貢獻(xiàn)的神人很多,比如:《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》(The Art of Computer Programming)一書的作者- Donald Knuth;Pascal 的作者 Anders Hejlsberg;Unix ,Go程序語(yǔ)言,B程序語(yǔ)言,UTF-8編碼,ed文本編輯器的創(chuàng)造者、設(shè)計(jì)者Ken Thompson;GNU項(xiàng)目發(fā)起人,Emacs,GCC,GDB發(fā)明者和GU Make Free Software公司創(chuàng)始人 Richard Stallman;java之父James Gosling,linux,git作者林納斯托瓦茲;c語(yǔ)言、unix作者丹尼斯里奇等等。
我們可以列舉出非常多大神,在這閃耀的明星中,最為閃耀的莫過(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)》。此書已翻譯成多種語(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)橐恢倍际菃紊?大神的思想境界真的)
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ǔ)言。

C語(yǔ)言時(shí)間線
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分支
Unix分支,實(shí)在太震撼了。
來(lái)看看其中最著名的幾個(gè)分支:BSD、minix、Linux、Mac OS X...
足可見(jiàn)unix對(duì)現(xiàn)在操作系統(tǒng)的影響,其地位就像《易經(jī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)容并不是很多,其難度可想而知。
二、 Linus Torvalds(1969年12月28日- )
Linux之父、Git之父。
1) Linus Torvalds(1969年12月28日- )
Linus Torvalds
芬蘭赫爾辛基人,著名的電腦程序員,Linux內(nèi)核的發(fā)明人及該計(jì)劃的合作者 ,畢業(yè)于赫爾辛基大學(xué)計(jì)算機(jī)系,1997年至2003年在美國(guó)加州硅谷任職于全美達(dá)公司(Transmeta Corporation),現(xiàn)受聘于開(kāi)放源代碼開(kāi)發(fā)實(shí)驗(yàn)室(OSDL:Open Source Development Labs, Inc),全力開(kāi)發(fā)Linux內(nèi)核。與**妻子托芙(Tove,芬蘭前女子空手道冠軍)**育有三個(gè)女孩。

Linus
劃重點(diǎn):「妻子托芙(Tove,芬蘭前女子空手道冠軍)」。
跟隨著我爺爺?shù)膶W(xué)院教學(xué)生涯,我也成了赫爾辛基大學(xué)的一名助教,被分配在這年秋季學(xué)期里開(kāi)始用瑞典語(yǔ)教授《計(jì)算機(jī)科學(xué)入門》課程。
就這樣,我遇上了塔芙。 她對(duì)我一生的影響甚至比 《操作系統(tǒng):設(shè)計(jì)與執(zhí)行》 一書對(duì)我的影響還要大。不過(guò),我不會(huì)用這種影響的細(xì)節(jié)來(lái)讓你煩惱的。
當(dāng)時(shí),塔芙是我的班上十五個(gè)學(xué)生中的一個(gè)。她已經(jīng)有了一個(gè)學(xué)齡前教育學(xué)的學(xué)位(不像在美國(guó),芬蘭要求學(xué)齡前兒童的教師要有大學(xué)學(xué)歷),她還想學(xué)習(xí)計(jì)算機(jī),卻不能取得像班上其他同學(xué)那樣的進(jìn)步。當(dāng)然,最后她還是?上去了。
我們交往的過(guò)程是如此簡(jiǎn)單。
那是在 1993 年秋天,互聯(lián)網(wǎng)還沒(méi)有流行開(kāi)來(lái)。 因此,有一天,我在這個(gè)班布置的家庭作業(yè)就是給我發(fā)一個(gè)電子郵件(這要放在今天簡(jiǎn)直要笑死人),我對(duì)學(xué)生說(shuō):“今天的家庭作業(yè):發(fā)給我一個(gè)電子郵件。”
其他人的郵件不是一些供記錄的短語(yǔ),就是一些沒(méi)什么意思的筆記。
只有塔芙,她邀請(qǐng)我和她出去約會(huì)。
我娶了第一個(gè)通過(guò)電子方式走近我的女人。
塔芙是一個(gè)曾六次獲得過(guò)芬蘭空手道冠軍的幼兒園教師。 她的家庭很獨(dú)特,盡管我認(rèn)為還不如我們家那么離奇。 她有許多朋友。
從我們?cè)谝黄鸬牡谝豢唐穑拖袷亲钸m合我的女人。
經(jīng)過(guò)了幾個(gè)月的約會(huì),我和我的貓?zhí)m迪就搬到她的公寓房間去了。
在搬進(jìn)去后的最初兩周,我甚至都沒(méi)有動(dòng)過(guò)一下我的計(jì)算機(jī)。
不算上我服兵役的時(shí)間,這兩周是我自從我十歲那一年坐在外祖父膝蓋上擺弄計(jì)算機(jī)以來(lái) ,
離開(kāi)計(jì)算機(jī)最長(zhǎng)的一段時(shí)間了。
不必詳細(xì)描述,但這確實(shí)是除去服兵役之外我離開(kāi)計(jì)算機(jī)最長(zhǎng)的時(shí)間的記錄了。
---出自linux自傳《just for fun》。

just for fun
祖師爺和祖師奶奶的相遇居然這么浪漫,他們的第一個(gè)孩子應(yīng)該就是那兩個(gè)星期造出來(lái)的吧。
2) Git
Git是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項(xiàng)目版本管理,它是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)。Git 是用于 Linux內(nèi)核開(kāi)發(fā)的版本控制工具。
與常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本庫(kù)的方式,不必服務(wù)器端軟件支持,使源代碼的發(fā)布和交流極其方便。 Git 的速度很快,這對(duì)于諸如 Linux kernel 這樣的大項(xiàng)目來(lái)說(shuō)自然很重要。 Git 最為出色的是它的合并跟蹤(merge tracing)能力。
Git是一種非常流行的分布式版本控制系統(tǒng),它和其他版本控制系統(tǒng)的主要差別在于Git只關(guān)心文件數(shù)據(jù)的整體是否發(fā)生變化,而大多數(shù)版本其他系統(tǒng)只關(guān)心文件內(nèi)容的具體差異,這類系統(tǒng)(CVS,Subversion,Perforce,Bazaar 等等)每次記錄有哪些文件作了更新,以及都更新了哪些行的什么內(nèi)容。
Git另一個(gè)比較好的地方在于絕大多數(shù)操作都可以在本地執(zhí)行,而每個(gè)本地都可以從服務(wù)器獲取一份完整的倉(cāng)庫(kù)代碼,而且在沒(méi)網(wǎng)的時(shí)候仍然可以修改和使用大部分命令,在方便的時(shí)候再跟服務(wù)器進(jìn)行同步,這樣可以更好的實(shí)現(xiàn)多人聯(lián)合編程。
Git
2002年,Linux系統(tǒng)已經(jīng)發(fā)展了十年了,代碼庫(kù)之大讓Linus很難繼續(xù)通過(guò)手工方式管理了,社區(qū)的弟兄們也對(duì)這種方式表達(dá)了強(qiáng)烈不滿,于是Linus選擇了一個(gè)商業(yè)的版本控制系統(tǒng)BitKeeper,BitKeeper的東家BitMover公司出于人道主義精神,授權(quán)Linux社區(qū)免費(fèi)使用這個(gè)版本控制系統(tǒng)。
安定團(tuán)結(jié)的大好局面在2005年就被打破了,原因是Linux社區(qū)牛人聚集,不免沾染了一些梁山好漢的江湖習(xí)氣。
「開(kāi)發(fā)Samba的Andrew試圖破解BitKeeper的協(xié)議(這么干的其實(shí)也不只他一個(gè)),被BitMover公司發(fā)現(xiàn)了」(監(jiān)控工作做得不錯(cuò)!),于是BitMover公司怒了,要「收回Linux社區(qū)的免費(fèi)使用權(quán)」。
Linus本可以向BitMover公司道個(gè)歉,保證以后嚴(yán)格管教弟兄們,嗯,但是Linus不是一般人,「道歉是不可能的,這輩子都不可能的」。
于是Linus花了「兩周時(shí)間」自己用C寫了一個(gè)分布式版本控制系統(tǒng),這就是Git!一個(gè)月之內(nèi),Linux系統(tǒng)的源碼已經(jīng)由Git管理了!
「牛」是怎么定義的呢?大家可以體會(huì)一下。

Git
Git迅速成為最流行的分布式版本控制系統(tǒng),尤其是2008年,GitHub網(wǎng)站上線了,它為開(kāi)源項(xiàng)目免費(fèi)提供Git存儲(chǔ),無(wú)數(shù)開(kāi)源項(xiàng)目開(kāi)始遷移至GitHub,包括jQuery,PHP,Ruby等等。
GitHub,全世界開(kāi)發(fā)者的安全空間,在這里,你可以分享你的代碼為大家所用,也可以和全世界的開(kāi)發(fā)者一起共建完善你的代碼。現(xiàn)在有越來(lái)越多的公司都把代碼放在了Github服務(wù)器上。
一口君從第一次用過(guò)之后就愛(ài)不釋手,被其中的設(shè)計(jì)哲學(xué)深深折服,因?yàn)镚it管理軟件版本實(shí)在太過(guò)方便了。
通過(guò)commit來(lái)研究和學(xué)習(xí)一個(gè)軟件產(chǎn)品如何從最初code base慢慢迭代成一個(gè)成熟的產(chǎn)品,這是提升自己技術(shù)水平最快捷之路。
3) Linux

Linux時(shí)間線
Linux時(shí)間線比較龐大,詳情請(qǐng)復(fù)制下面鏈接到瀏覽器: https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg
1991
- 8月25號(hào) : 21歲的芬蘭學(xué)生Linus Benedict Torvalds 在comp.os.minix 新聞組上宣布了它正在編寫一個(gè)免費(fèi)的操作系統(tǒng)。
- 9月1號(hào) : Linux 0.01在網(wǎng)上發(fā)布。
1992
- 1月5號(hào) : Linux v0.12 release 版本的內(nèi)核重新以GUN GPL的協(xié)議發(fā)布。原來(lái)的許可證是禁止任何商業(yè)用途的。通過(guò)這次協(xié)議變更,發(fā)布和出售修改或未修改版的Linux成為了可能,只要你將這些復(fù)制版本以相同的GPL許可證發(fā)布,并且有相對(duì)應(yīng)完整的源代碼。在后來(lái)的一次采訪中,Linus對(duì)這次許可證的更改說(shuō)了這樣一句話(讓Linux遵守GPL絕對(duì)是我干過(guò)的最正確的事):
- " Making Linux GPL'd was definitely the best thing I ever did."
- 1月29號(hào) : Andrew S. Tanenbaum向comp.os.minix郵件列表發(fā)送了一封名為L(zhǎng)INUX is obsolete的郵件。總的來(lái)說(shuō),這次被一些人升級(jí)為“戰(zhàn)火”的爭(zhēng)論是關(guān)于Linux和內(nèi)核架構(gòu)的。Tanenbaum爭(zhēng)辯說(shuō)微內(nèi)核比宏內(nèi)核更加高級(jí),所以Linux是過(guò)時(shí)的。
- 4月5號(hào) : 第一個(gè)Linux新聞組,comp.os.linux由Ari Lemmke提議和開(kāi)通。
- 5月21號(hào) : Peter MacDonald 發(fā)布第一個(gè)獨(dú)立的Linux安裝包SLS。可以通過(guò)軟盤安裝,包括比較前沿的TCP-IP網(wǎng)絡(luò)支持和X Window系統(tǒng)。建議至少預(yù)留10M的磁盤空間來(lái)安裝。
1993
- 6月17號(hào) : Slackware Linux由Patrick Volkerding發(fā)布。Slackware被認(rèn)為是第一個(gè)取得廣泛成功的Linux發(fā)行版,而且它現(xiàn)在還在使用。
- 8月16號(hào) : Ian Murdock(Debian中的'ian')發(fā)布了第一個(gè)Debian Linux的發(fā)行版。Debian是最有影響力的Linux發(fā)行版之一,是MEPIS,Mint,Ubuntu和很多其它發(fā)行版的鼻祖。
- 8月19號(hào) : Matt Welsh寫的《Linux Installation and Getting Started》第1版出版,這是第一本關(guān)于Linux的書籍。
1994
- 3月14號(hào) : Linux內(nèi)核V1.0發(fā)布。它支持基于i386單處理器的計(jì)算機(jī)系統(tǒng)。這3年來(lái),內(nèi)核代碼庫(kù)已經(jīng)增長(zhǎng)到了176,250行。
- 3月26號(hào) : 第一期《Linux Journal》雜志發(fā)行。這一期雜志的特點(diǎn)是發(fā)表了一篇對(duì)Linus Torvalds的采訪和一些Phil Hughes, Robert “Bob” Young, Michael K. Johnson, Arnold Robbins, Matt Welsh, Ian A寫的文章。
- 8月15號(hào) : Willian R. Della Croce, Jr. 申請(qǐng)了“Linux”商標(biāo),9月進(jìn)行了注冊(cè)。Della Croce在不知道Linux社區(qū)財(cái)政窘迫的前提下,向煊赫的“Linux公司”寫了一封信,要求他們?yōu)?ldquo;Linux”商標(biāo)使用支付費(fèi)用。直到1997年,這次風(fēng)波以將商標(biāo)轉(zhuǎn)讓給代表所有請(qǐng)?jiān)刚吆蚅inux使用者的Linus Torvalds而告終。
- 11月3號(hào) : Red Hat的共同創(chuàng)始人Marc Ewing宣布可以以49.95美元的零售價(jià)格獲得Red Hat Software Linux的CD-ROM和30天的安裝支持。2012年Red Hat成為第一家市值達(dá)10億美元的開(kāi)源公司。
1995
- 4月4號(hào) : 開(kāi)展了第一個(gè)專門針對(duì)Linux的貿(mào)易展和會(huì)議系列,名字叫Linux Expo。這成為接下來(lái)幾年中,最流行和備受關(guān)注的年度Linux盛會(huì)。貿(mào)易展和會(huì)議的入場(chǎng)券價(jià)格是4美元。3年后,Red Hat接管了組織工作,同時(shí)也是主要的贊助商。
1996
- 5月9號(hào) : 最初由Alan Cox提議,之后又經(jīng)Linus Torvalds改良,Larry Ewing在1996年創(chuàng)造了現(xiàn)在看到的這只叫做Tux的吉祥物。選定企鵝作為L(zhǎng)inux吉祥物的主意來(lái)自Linus Torvalds,他說(shuō)自己被一只企鵝輕輕地咬了一口之后就具有了企鵝的特征。(這是要變成企鵝俠嗎?估計(jì)是原作者調(diào)皮了?--譯注)
- 6月9號(hào) : Linux內(nèi)核V2.0發(fā)布。相比更早的版本這是一次意義重大的提升,這是第一個(gè)在單系統(tǒng)中支持多處理器的穩(wěn)定內(nèi)核版本,也支持更多的處理器類型。Linux從此以后成了很多公司一個(gè)鄭重選擇的對(duì)象。你可以閱讀1996年8月在Linux Journal上發(fā)布的回顧Linux V2.0來(lái)了解更多相關(guān)的提升。
- 10月14號(hào) : 1996年Mattias Ettrich發(fā)起了KDE項(xiàng)目,因?yàn)樗钍躑nix桌面系統(tǒng)下應(yīng)用程序的不一致之苦。(在此之前Unix和Linux都沒(méi)有一個(gè)統(tǒng)一的桌面系統(tǒng),編寫桌面軟件非常復(fù)雜--譯注)
1997
- 1月9號(hào) : 第一個(gè)“Linux病毒”Bliss被發(fā)現(xiàn)了。Bliss不危害系統(tǒng)的安全,它依賴于人們用特權(quán)干蠢事來(lái)感染系統(tǒng),然后提醒用戶只安裝從可靠站點(diǎn)下載的可以驗(yàn)證數(shù)字簽名的軟件,并且安裝之前一定要先驗(yàn)證簽名(很多地方把這個(gè)算作第2個(gè)Linux病毒,因?yàn)橹斑€有一個(gè)更加“綠色”的病毒--譯注)。 “事實(shí)上,在Linux上寫一個(gè)病毒可能會(huì)更加的簡(jiǎn)單,因?yàn)長(zhǎng)inux是開(kāi)源的,所有的源代碼都是可以獲取的。所以,隨著Linux變得更加通用和流行的時(shí)候,我們將看到更多的Linux病毒。”--來(lái)自McAfee的暢想。
1998
- 5月1號(hào) : Google搜索引擎面世。它不僅僅是世界上最好的搜索引擎之一,更是基于Linux的,它的特征是有一個(gè)Linux的搜索頁(yè)面。
- 12月4號(hào) : 一份來(lái)自IDC的報(bào)告稱1998年Linux的出貨量至少上升了200%,市場(chǎng)占有率上升至少150%。Linux的市場(chǎng)占有率為17%,并且以其它任何操作系統(tǒng)無(wú)法企及的速度增長(zhǎng)著。
1999
- 2月9號(hào) : Linux和BSD使用者們發(fā)起了“Windows退款日”。他們聯(lián)合起來(lái)造訪了微軟公司,希望退還他們?cè)谫I電腦時(shí)綁定購(gòu)買Windows許可證的錢,這些許可證他們從來(lái)沒(méi)有用過(guò)。
- 3月3號(hào) : 另一個(gè)頗具影響力的桌面系統(tǒng)進(jìn)入了Linux的世界,就是GNOME桌面系統(tǒng)。在很多主要的Linux發(fā)行版比如Debian,F(xiàn)edora,RedHad Enterprise Linux和SUSE Linux Enterprise Desktop中,GNOME是默認(rèn)的桌面環(huán)境。
2000
- 2月4號(hào) : 最新的IDC報(bào)告表明Linux現(xiàn)在排在“最受歡迎的服務(wù)器操作系統(tǒng)的第2位”,1999年服務(wù)器系統(tǒng)銷售量占總量的25%。Windows NT以38%位列第1,NetWare以19%排在第3位。
- 3月11號(hào) : 摩托羅拉公司宣布發(fā)行HA Linux。這個(gè)發(fā)行版專注于通信應(yīng)用領(lǐng)域,對(duì)系統(tǒng)不關(guān)機(jī)連續(xù)運(yùn)行時(shí)間要求非常高。它還包括了熱交換能力和支持i386和PowerPC架構(gòu)。
- 3月23號(hào) : 愛(ài)立信公布了“Screen Phone HS210”,這是一款基于Linux的觸屏手機(jī),具備郵件和網(wǎng)頁(yè)瀏覽等功能。愛(ài)立信和Opera Software公司同時(shí)宣布這款手機(jī)將會(huì)安裝Opera的網(wǎng)頁(yè)瀏覽器。
- 10月30號(hào) : 第一個(gè)Linux live發(fā)行版由Linux咨詢顧問(wèn)Klaus Knopper發(fā)布,名字叫做Knoppix。
2001
- 1月3號(hào) : 美國(guó)NAS(美國(guó)國(guó)家安全局)以GPL許可證發(fā)布了SELinux。SELinux提供了標(biāo)準(zhǔn)Unix權(quán)限管理系統(tǒng)以外的另一層安全檢查。
2003
- 3月6號(hào) : SCO Group公司宣布他們正在發(fā)起對(duì)IBM高達(dá)10億美元的訴訟,他們聲稱IBM把SCO的商業(yè)機(jī)密整合到了Linux中。之后SCO公司發(fā)起了一系列的法律訴訟案,這威脅到了很多計(jì)算機(jī)行業(yè)的巨頭包括惠普,微軟,Novell,Silicon Graphics,Sun Microsystems和RedHat。這次案件在Novell公司的支持下于2010年3月30號(hào)判決完畢。(著名的SCO-Linux爭(zhēng)議,SCO聲稱擁有System V的部分源碼所有權(quán),IBM將這部分源碼整合到Linux中侵犯了SCO著作權(quán)。最后聯(lián)邦法院裁定Novell才是Unix商標(biāo)的合法擁有者。--譯注)
2004
- 10月20號(hào) : Ubuntu以一個(gè)不同尋常的版本號(hào)4.10和怪異的版本代號(hào)“Warty Warthog”(長(zhǎng)滿疙瘩的非洲疣豬)進(jìn)入大家的生活。用這個(gè)版本號(hào)是因?yàn)榘l(fā)布日期是2004年10月。Ubuntu的開(kāi)發(fā)由Cannonical Ltd公司主導(dǎo),公司的創(chuàng)始人是Mark Shuttleworth(就是那個(gè)不到30歲的億萬(wàn)富翁,錢多的不知道怎么花,只能燒錢上太空的游一圈的人--譯注)。Ubuntu雖然不是內(nèi)核的主要貢獻(xiàn)者,然而對(duì)于Linux的臺(tái)式機(jī)和筆記本電腦的普及,Ubuntu扮演著一個(gè)重要的角色。
2007
- 6月6號(hào) : 華碩在2007的臺(tái)北電腦展上展出了兩款“易PC”(Eee PC):701和1001。第1批易PC預(yù)裝的是Xandros Linux,這是一個(gè)基于Debian,輕量級(jí)的為適應(yīng)小屏幕進(jìn)行過(guò)優(yōu)化的Linux發(fā)行版。
- 8月8號(hào) : 2007年Linux基金會(huì)由開(kāi)源發(fā)展實(shí)驗(yàn)室(OSDL)和自由標(biāo)準(zhǔn)組織(FSG)聯(lián)合成立。這個(gè)基金會(huì)目的是贊助Linux創(chuàng)始人Linus的工作。基金會(huì)得到了主要的Linux和開(kāi)源公司,包括富士通,HP,IBM,Intel,NEC,Oracle,Qualcomm,三星和來(lái)自世界各地的開(kāi)發(fā)者的支持。
- 「11月5號(hào) : 與之前大家推測(cè)的發(fā)布Gphone不同,Google宣布組建開(kāi)放手機(jī)聯(lián)盟(Open Handset Alliance)和發(fā)布Android,它被稱為“第一個(gè)真正開(kāi)放的綜合移動(dòng)設(shè)備平臺(tái)”。」
2009
- 1月29號(hào) : 2009年1月紐約時(shí)報(bào)稱“現(xiàn)在預(yù)計(jì)有超過(guò)10億人在運(yùn)行Ubuntu系統(tǒng)”。
2011
- 5月11號(hào) : 2011年Google I/O大會(huì)發(fā)布了Chrombook。這是一款運(yùn)行著所謂云操作系統(tǒng)Chrome OS的筆記本。Chome OS是基于Linux內(nèi)核的。
- 6月21號(hào) : Linus Torvalds 發(fā)布了Linux3.0版本。
2013
- 12月13號(hào) : Valve公司發(fā)布基于Linux的SteamOS操作系統(tǒng),這是一個(gè)視頻游戲控制臺(tái)系統(tǒng)。
4)《大教堂與集市》
Linus發(fā)明Linux過(guò)程有點(diǎn)像將簡(jiǎn)陋的集市構(gòu)建成一個(gè)宏偉壯麗的大教堂的一個(gè)過(guò)程。
《大教堂與集市》這本書分析了這種設(shè)計(jì)哲學(xué)。

大教堂與集市
世界上的建筑可以分兩種:「一種是集市」,天天開(kāi)放在那里,從無(wú)到有,從小到大;還有一種是「大教堂」,幾代人嘔心瀝血,幾十年才能建成,投入使用。
「當(dāng)你新建一座建筑時(shí),你可以采用集市的模式,也可以采用大教堂的模式。」
一般來(lái)說(shuō),集市的特點(diǎn)是開(kāi)放式建設(shè)、成本低、周期短、品質(zhì)平庸;大教堂的特點(diǎn)是封閉式建設(shè)、成本高、周期長(zhǎng)、品質(zhì)優(yōu)異。
Eric Raymond總結(jié)了集市要變成大教堂,有幾個(gè)前提條件:
- 你不能從零開(kāi)始建設(shè)集市,你必須先有一個(gè)原始項(xiàng)目。(It's fairly clear that one cannot code from the ground up in bazaar style.)
- 你的原始項(xiàng)目可以有缺陷,但是它必須能運(yùn)行。(It can be crude, buggy, incomplete, and poorly documented. What it must not fail to do is run.)
- 你必須向用戶展示一個(gè)可行的前景,且讓潛在的合作者相信在可預(yù)見(jiàn)的將來(lái)它會(huì)變成一個(gè)真正漂亮的東西。(When you start community-building, what you need to be able to present is a plausible promise, and convince potential co-developers that it can be evolved into something really neat in the foreseeable future.)
- 項(xiàng)目的主持者本身不一定是天才,但他一定要能夠慧眼識(shí)別出他人的優(yōu)秀想法。(it is not critical that the coordinator be able to originate designs of exceptional brilliance, but it is absolutely critical that the coordinator be able to recognize good design ideas from others.)
- 項(xiàng)目的主持者必須要有良好的人際關(guān)系、交流技能和人格魅力。這樣才能吸引他人,使別人對(duì)你所做的事感興趣,愿意幫助你。(A bazaar project coordinator or leader must have good people and communications skills.)
Eric Raymond同時(shí)也總結(jié)了一些成功的充分條件。
- 項(xiàng)目首先必須是你自己感興趣的,但是最終能對(duì)其他人有用。
- 將用戶當(dāng)作合作者。
- 盡快地和經(jīng)常地做出改進(jìn),多聽(tīng)取用戶的意見(jiàn)。
- 健壯的結(jié)構(gòu)遠(yuǎn)比精巧的設(shè)計(jì)來(lái)得重要。換句話說(shuō),結(jié)構(gòu)是第一位的,功能是第二位的。
- 保持項(xiàng)目的簡(jiǎn)單性。設(shè)計(jì)達(dá)到完美的時(shí)候,不是無(wú)法再增加?xùn)|西了,而是無(wú)法再減少東西了。
一個(gè)開(kāi)放式的項(xiàng)目,如果加以良好的管理和運(yùn)作,能取得比同等的封閉式項(xiàng)目大得多的成功。
三、比較
已經(jīng)介紹了兩位大神的生平的功績(jī),那下面我們來(lái)做個(gè)點(diǎn)評(píng)吧。
其實(shí)究竟誰(shuí)更強(qiáng),誰(shuí)的貢獻(xiàn)更大,作為一個(gè)晚輩程序員,對(duì)它們只有膜拜的分,豈敢隨便下結(jié)論說(shuō)他們誰(shuí)更強(qiáng),只能從他們的工作內(nèi)容和主要成就來(lái)說(shuō)說(shuō)個(gè)人看法,不足之處,還請(qǐng)指正。
1. 成果
首先說(shuō)說(shuō)C語(yǔ)言之父丹尼斯•里奇(Dennis M. Ritchie),他對(duì)C語(yǔ)言的貢獻(xiàn)大家有目共睹,不必多說(shuō)。
除了是C語(yǔ)言的主要發(fā)明者之外,他還因?yàn)閷?duì)Unix操作系統(tǒng)的重大貢獻(xiàn)而被稱為Unix之父。然而他的貢獻(xiàn)遠(yuǎn)非如此,在Unix取得了巨大成功之后,他們?cè)?0世紀(jì)80年代開(kāi)始研究一個(gè)名為Plan 9的操作系統(tǒng),其目的就是解決Unix中的一些問(wèn)題。
在之后的幾十年中,該項(xiàng)目演變出了一個(gè)叫Inferno的項(xiàng)目以及一個(gè)名為L(zhǎng)imbo的新語(yǔ)言,而該語(yǔ)言被公認(rèn)為是目前火熱的編程語(yǔ)言Go的前身。
從上面可以看出,丹尼斯•里奇的貢獻(xiàn)是多方面的,除了編程語(yǔ)言還有操作系統(tǒng),也正是因?yàn)槿绱耍@得了無(wú)數(shù)的獎(jiǎng)項(xiàng),其中最著名的就是「圖靈獎(jiǎng)」(1983)和「計(jì)算機(jī)先驅(qū)獎(jiǎng)」(1994)。
再說(shuō)說(shuō)Linux之父,Linus Torvalds,他的貢獻(xiàn)主要是開(kāi)發(fā)了Linux操作系統(tǒng)的內(nèi)核,然后將之開(kāi)源公布于世,最后形成了對(duì)計(jì)算機(jī)行業(yè)影響巨大的一套操作系統(tǒng),并且因此獲得了計(jì)算機(jī)先驅(qū)獎(jiǎng)(2014)。
2005年用兩周的時(shí)間就研發(fā)出了Git,而這個(gè)軟件版本管理軟件影響了全球無(wú)數(shù)的軟件開(kāi)發(fā)者。
成果上來(lái)說(shuō),二位實(shí)在不相上下。
2. 難度
從難度上講,編譯器要比操作系統(tǒng)難度高很多,而且linux并不是從零起步的,它是繼承unix系統(tǒng)內(nèi)核的,使之適應(yīng)PC兼容機(jī),而我們知道,C語(yǔ)言之父Dennis M Ritchie同時(shí)也是unix的創(chuàng)建者之一,在發(fā)明C語(yǔ)言之后,他自己又重新用C寫了一遍unix,linus對(duì)他就是小弟弟了,寫個(gè)操作系統(tǒng)對(duì)他而言并不費(fèi)事。
現(xiàn)代的windows、linux給人感覺(jué)很龐大,因?yàn)樗鼈兪莻€(gè)平臺(tái),上面有海量應(yīng)用和中間件,編譯器給人感覺(jué)很小,但對(duì)內(nèi)行來(lái)說(shuō),「編譯器的難度要遠(yuǎn)高于操作系統(tǒng)」。
操作系統(tǒng)是需要耗費(fèi)很多人工開(kāi)發(fā)上面的應(yīng)用,是軟件界的勞動(dòng)密集產(chǎn)品,而編譯器更像是大師的藝術(shù)品,編譯器是生產(chǎn)其它軟件的工廠,對(duì)它的要求非常高。
我們國(guó)家其實(shí)早就能做操作系統(tǒng)了,985大學(xué)里專業(yè)的本科學(xué)生就能交一份非商用的操作系統(tǒng)作業(yè),但自己的編譯器還是零,并不是學(xué)了編譯原理就寫的來(lái)編譯器的。
3. 編程水平
從他們的工作成就來(lái)看,我認(rèn)為丹尼斯•里奇更厲害一些,他的成就是多方面的,而且最關(guān)鍵的一點(diǎn),Linux的系統(tǒng)原型(Unix的變體minix)和編程語(yǔ)言(C語(yǔ)言)都來(lái)自于丹尼斯•里奇的貢獻(xiàn)的。但是如果僅僅從編程能力來(lái)說(shuō),到他們那種級(jí)別對(duì)編程都已經(jīng)是爐火純青,很難分出高下!
C語(yǔ)言之父相當(dāng)于自己動(dòng)手造了一臺(tái)挖掘機(jī)。人們可用他的挖掘機(jī)做能做的事。
linux之父相當(dāng)于自己帶頭挖了幾個(gè)基坑,然后有一大票自帶磚瓦、鋼筋、混凝土的小伙伴共同建起一座大廈。又因?yàn)槭莑inus是帶頭人,所以大廈名字由他起且看門大爺是他當(dāng)。
況且,蓋大廈(寫操作系統(tǒng))這種事,里奇同志早就干過(guò)了,而且是用自家造的機(jī)器和兩個(gè)小伙伴就干成了!
應(yīng)該說(shuō)在Dennis M Ritchie面前Linus就是弟弟。
4. 對(duì)社會(huì)直接貢獻(xiàn)
兩位都為社會(huì)進(jìn)步做了很大貢獻(xiàn)。如果硬要比較的話,個(gè)人覺(jué)得linux和git的直接貢獻(xiàn)更大一些。
沒(méi)什么好說(shuō)的,去各大軟件公司走一圈就知道了,幾乎沒(méi)有不用Linux的。
Linux應(yīng)用的領(lǐng)域非常之廣:
Linux在服務(wù)器領(lǐng)域的發(fā)展
隨著開(kāi)源軟件在世界范圍內(nèi)影響力日益增強(qiáng),Linux服務(wù)器操作系統(tǒng)在整個(gè)服務(wù)器操作系統(tǒng)市場(chǎng)格局中占據(jù)了越來(lái)越多的市場(chǎng)份額,已經(jīng)形成了大規(guī)模市場(chǎng)應(yīng)用的局面。并且保持著快速的增長(zhǎng)率。尤其在政府、金融、農(nóng)業(yè)、交通、電信等國(guó)家關(guān)鍵領(lǐng)域。此外,考慮到Linux的快速成長(zhǎng)性以及國(guó)家相關(guān)政策的扶持力度,Linux服務(wù)器產(chǎn)品一定能夠沖擊更大的服務(wù)器市場(chǎng)。
據(jù)權(quán)威部門統(tǒng)計(jì),目前Linux在服務(wù)器領(lǐng)域已經(jīng)占據(jù)75%的市場(chǎng)份額,同時(shí),Linux在服務(wù)器市場(chǎng)的迅速崛起,已經(jīng)引起全球IT產(chǎn)業(yè)的高度關(guān)注,并以強(qiáng)勁的勢(shì)頭成為服務(wù)器操作系統(tǒng)領(lǐng)域中的中堅(jiān)力量。
Linux在桌面領(lǐng)域的發(fā)展
近年來(lái),特別在國(guó)內(nèi)市場(chǎng),Linux桌面操作系統(tǒng)的發(fā)展趨勢(shì)非常迅猛。國(guó)內(nèi)如中標(biāo)麒麟Linux、紅旗Linux、深度Linux等系統(tǒng)軟件廠商都推出的Linux桌面操作系統(tǒng),目前已經(jīng)在政府、企業(yè)、OEM等領(lǐng)域得到了廣泛應(yīng)用。另外SUSE、Ubuntu也相繼推出了基于Linux的桌面系統(tǒng),特別是Ubuntu Linux,已經(jīng)積累了大量社區(qū)用戶。但是,從系統(tǒng)的整體功能、性能來(lái)看,Linux桌面系統(tǒng)與Windows系列相比還有一定的差距,主要表現(xiàn)在系統(tǒng)易用性、系統(tǒng)管理、軟硬件兼容性、軟件的豐富程度等方面。
Linux在移動(dòng)嵌入式領(lǐng)域的發(fā)展
Linux的低成本、強(qiáng)大的定制功能以及良好的移植性能,使得Linux在嵌入式系統(tǒng)方面也得到廣泛應(yīng)用,目前Linux以廣泛應(yīng)用于手機(jī)、平板電腦、路由器、電視和電子游戲機(jī)等領(lǐng)域。在移動(dòng)設(shè)備上廣泛使用的Android操作系統(tǒng)就是創(chuàng)建在Linux內(nèi)核之上的。目前,Android已經(jīng)成為全球最流行的智能手機(jī)操作系統(tǒng),據(jù)2015年權(quán)威部門最新統(tǒng)計(jì),Android操作系統(tǒng)的全球市場(chǎng)份額已達(dá)84.6%
此外,思科在網(wǎng)絡(luò)防火墻和路由器也使用了定制的Linux,阿里云也開(kāi)發(fā)了一套基于Linux的操作系統(tǒng)“YunOS”,可用于智能手機(jī)、平板電腦和網(wǎng)絡(luò)電視;常見(jiàn)的數(shù)字視頻錄像機(jī)、舞臺(tái)燈光控制系統(tǒng)等都在逐漸采用定制版本的Linux來(lái)實(shí)現(xiàn),而這一切均歸功于Linux與開(kāi)源的力量
Linux在云計(jì)算/大數(shù)據(jù)領(lǐng)域的發(fā)展
互聯(lián)網(wǎng)產(chǎn)業(yè)的迅猛發(fā)展,促使云計(jì)算、大數(shù)據(jù)產(chǎn)業(yè)的形成并快速發(fā)展,云計(jì)算、大數(shù)據(jù)作為一個(gè)基于開(kāi)源軟件的平臺(tái),Linux占據(jù)了核心優(yōu)勢(shì);據(jù)Linux基金會(huì)的研究,86%的企業(yè)已經(jīng)使用Linux操作系統(tǒng)進(jìn)行云計(jì)算、大數(shù)據(jù)平臺(tái)的構(gòu)建,目前,Linux已開(kāi)始取代Unix成為最受青睞的云計(jì)算、大數(shù)據(jù)平臺(tái)操作系統(tǒng)
國(guó)內(nèi) Linux 操作系統(tǒng)發(fā)展現(xiàn)狀
國(guó)內(nèi)目前涉足Linux操作系統(tǒng)研發(fā)除學(xué)校、研發(fā)機(jī)構(gòu)外,主要 Linux 發(fā)行版包括紅旗、中標(biāo)、共創(chuàng)、新華、拓林思等,均有桌面和服務(wù)器兩個(gè)版本; 國(guó)內(nèi)各發(fā)行版均基于國(guó)際社區(qū)版本發(fā)展而來(lái),基于國(guó)際社區(qū)成果,在界面定制上做了一些工作,并沒(méi)有掌握核心技術(shù),且與國(guó)際Linux 操作系統(tǒng)發(fā)行版之間存在一定的技術(shù)差距,缺少技術(shù)積累,面臨Linux發(fā)展后勁不足等問(wèn)題
國(guó)外Linux操作系統(tǒng)發(fā)展現(xiàn)狀
國(guó)外 Linux 操作系統(tǒng)發(fā)展現(xiàn)狀 國(guó)外主要發(fā)行版包括redhat、ubuntu、Suse 等,均提供桌面和服務(wù)器兩個(gè)不同版本。服務(wù)器領(lǐng)域 Linux 操作系統(tǒng)發(fā)展比較成熟,桌面發(fā)展比較緩慢,嵌入式領(lǐng)域發(fā)展較快。
可以說(shuō)我們的生活已經(jīng)無(wú)法離開(kāi)Linux,絕大部分軟件工程師都會(huì)用到Linux,但一定要記住這些都是建立在C語(yǔ)言的基礎(chǔ)之上。
5. 個(gè)人理解
其實(shí)2人都不是從0開(kāi)始的, 一個(gè)是基于B語(yǔ)言和unix系統(tǒng)的需求出發(fā)創(chuàng)造了c語(yǔ)言,
一個(gè)是基于minix和unix思想還有當(dāng)時(shí)的機(jī)遇開(kāi)發(fā)了linux。 都是站在前任的肩膀上成功的。
在彭老師心里,Dennis Ritchie更加重要一些,因?yàn)樗肅語(yǔ)言開(kāi)辟了一個(gè)新的世界,從誕生開(kāi)始到現(xiàn)在,一直穩(wěn)居語(yǔ)言榜前三位,都快50年了,我們依然在用它。
而Linux在服務(wù)器和移動(dòng)端的占有率實(shí)在太高,直接貢獻(xiàn)更多一些,而linus最厲害的一點(diǎn)是他做到了協(xié)調(diào)世界各地?cái)?shù)以百萬(wàn)計(jì)的開(kāi)發(fā)者開(kāi)發(fā)維護(hù)linux,這難度更大些。
彭老師內(nèi)心可能更崇拜linus多一些,尤其他那一句“「Talk is cheap!Show me your code!」”!