前言
在計算機軟件領域,做出過重大貢獻的神人很多,在這閃耀的明星中,最為閃耀的莫過于「Linus Torvalds和Dennis Ritchie」。
那么這兩位誰的貢獻更大呢?
這是一個很難回答的問題,就如同關公戰秦瓊,仁者見仁,智者見智。
還是先對兩位大神做個介紹吧。
一、Dennis Ritchie
C語言之父,UNIX之父。
1) Dennis Ritchie(1941年- 2011年10月12日)
Dennis Ritchie
Dennis Ritchie曾擔任朗訊科技公司貝爾實驗室下屬的計算機科學研究中心系統軟件研究部的主任一職。1978年與布萊恩·科爾尼干(Brian W. Kernighan)一起出版了名著《C程序設計語言(The C Programming Language)》。此書已翻譯成多種語言,被譽為c語言的圣經。
2011年10月12日,共事20年的同事Rob Pike從加州到新澤西去拜訪他,才發現他已經去世了。由于是獨居,無法知道準確的死亡時間。享年70歲。
丹尼斯·里奇生平
丹尼斯·里奇因為一直都是單身(大神的思想境界真的)
2) C語言
丹尼斯·里奇創建了C編程語言和Unix 操作系統。無論是這其中哪一個項目,都可以讓他在計算機界傲視群雄。而丹尼里奇開發了兩大項目,可以說是計算機史上獨一無二的。
事實上,C語言在各種軟件程序,嵌入式系統開發,操作系統中,使用是最廣泛的。同時,C語言也影響了大多數現代主流的編程語言。
1960s年代后期,貝爾實驗室對計算機系統的研究進入繁盛時期。MIT、General Electric、Bell實驗室合作的Mutlics項目以失敗而告終(1969年左右)。
就是在這個時期,Ken Tompson開始寫Mutlics的替代品,他希望按照自己的設計構造一個令人舒服的計算系統(也就是Unix)。
后來在寫出第一個版本的Unix時,覺得Unix上需要一個新的系統編程語言,他創造了一個B語言。B語言是沒有類型的C,準確說B語言是Tompson把BCPL擠進8K內存,被其個人大腦過濾后的產生的語言。
由于B語言存在的一些問題,導致其只是被用來寫一些命令工具使用。恰好在這個時期,Ritchie在B語言的基礎上,進行了重新的設計改良,從而誕生了C語言。
1973年,C語言基本上已經完備,從語言和編譯器層面已經足夠讓Tompson和Ritchie使用C語言重寫Unix內核。后來,Unix在一些研究機構、大學、政府機關開始慢慢流行起來,進而帶動了C語言的發展。
1978年,K&R編寫的《The C Programming Language》出版,進一步推動了C語言的普及。
3) unix
Unix的誕生與C語言被廣泛的傳播、使用,有著密切的聯系。
上圖時間線只顯示前幾個與C語言在相同時間段內誕生的Unix版本。
后來學術和政府組織中都在使用Unix,也正是由于Unix的風靡與興盛,帶動了C語言被廣泛的傳播、使用。
在1980年代,C語言的使用廣泛傳播,并且幾乎所有機器體系結構和操作系統都可以使用編譯器。尤其是,它已成為個人計算機的編程工具,無論是用于這些機器的商業軟件制造商,還是對編程感興趣的最終用戶,都非常受歡迎。
Unix分支,實在太震撼了。
來看看其中最著名的幾個分支:BSD、minix、Linux、Mac OS X...
足可見unix對現在操作系統的影響,其地位就像《易經》,為群經之首。
4) 第一個C語言編譯器是怎樣編寫的?
不知道你有沒有想過,大家都用C語言或基于C語言的語言來寫編譯器,那么世界上第一個C語言編譯器又是怎么編寫的呢?這不是一個“雞和蛋”的問題……
回顧一下C語言歷史:Tomphson在BCPL的基礎上開發了B語言,Ritchie又在B語言的基礎上成功開發出了現在的C語言。在C語言被用作系統編程語言之前,Tomphson也用過B語言編寫過操作系統。可見在C語言實現以前,B語言已經可以投入使用了。因此第一個C語言編譯器的原型完全可能是用B語言或者混合B語言與PDP匯編語言編寫的。
我們現在都知道,B語言的執行效率比較低,但是如果全部用匯編語言來編寫,不僅開發周期長、維護難度大,更可怕的是失去了高級程序設計語言必需的移植性。
所以早期的C語言編譯器就采取了一個取巧的辦法:先用匯編語言編寫一個C語言的一個子集的編譯器,再通過這個子集去遞推,進而完成完整的C語言編譯器。
所以創建第一個C編譯器的難度不亞于創造C語言的難度。
如果還不理解,舉個例子,我們要建一個大廈,圖紙什么的都已經設計好了,要開工建設。
那么用于建造大樓的各種設備和工具:塔吊、腳手架、鉗子、螺絲刀、水平儀、卷尺等等,這些所有用到的所有工具,都是無數的公司的公司經過多年不斷研發積累才達到今天的標準。
而編譯c語言的編譯器,就相當于建設大樓所需要的各種工具,丹尼斯不光親自設計了C語言,還親自從頭到尾設計這一整套的工具。
這個工作是創造性的,可參考內容并不是很多,其難度可想而知。
二、 Linus Torvalds(1969年12月28日- )
Linux之父、Git之父。
1) Linus Torvalds(1969年12月28日- )
Linus Torvalds
芬蘭赫爾辛基人,著名的電腦程序員,Linux內核的發明人及該計劃的合作者 ,畢業于赫爾辛基大學計算機系,1997年至2003年在美國加州硅谷任職于全美達公司(Transmeta Corporation),現受聘于開放源代碼開發實驗室(OSDL:Open Source Development Labs, Inc),全力開發Linux內核。與**妻子托芙(Tove,芬蘭前女子空手道冠軍)**育有三個女孩。
Linus
劃重點:「妻子托芙(Tove,芬蘭前女子空手道冠軍)」。
跟隨著我爺爺的學院教學生涯,我也成了赫爾辛基大學的一名助教,被分配在這年秋季學期里開始用瑞典語教授《計算機科學入門》課程。 就這樣,我遇上了塔芙。 她對我一生的影響甚至比 《操作系統:設計與執行》 一書對我的影響還要大。不過,我不會用這種影響的細節來讓你煩惱的。
當時,塔芙是我的班上十五個學生中的一個。她已經有了一個學齡前教育學的學位(不像在美國,芬蘭要求學齡前兒童的教師要有大學學歷),她還想學習計算機,卻不能取得像班上其他同學那樣的進步。當然,最后她還是?上去了。 我們交往的過程是如此簡單。 那是在 1993 年秋天,互聯網還沒有流行開來。
因此,有一天,我在這個班布置的家庭作業就是給我發一個電子郵件(這要放在今天簡直要笑死人),我對學生說:“今天的家庭作業:發給我一個電子郵件。” 其他人的郵件不是一些供記錄的短語,就是一些沒什么意思的筆記。 只有塔芙,她邀請我和她出去約會。 我娶了第一個通過電子方式走近我的女人。 塔芙是一個曾六次獲得過芬蘭空手道冠軍的幼兒園教師。 她的家庭很獨特,盡管我認為還不如我們家那么離奇。
她有許多朋友。 從我們在一起的第一刻起,她就像是最適合我的女人。 經過了幾個月的約會,我和我的貓蘭迪就搬到她的公寓房間去了。 在搬進去后的最初兩周,我甚至都沒有動過一下我的計算機。 不算上我服兵役的時間,這兩周是我自從我十歲那一年坐在外祖父膝蓋上擺弄計算機以來 , 離開計算機最長的一段時間了。 不必詳細描述,但這確實是除去服兵役之外我離開計算機最長的時間的記錄了。
---出自linus自傳《just for fun》。
祖師爺和祖師奶奶的相遇居然這么浪漫,他們的第一個孩子應該就是那兩個星期造出來的吧。
2) Git
Git是一個開源的分布式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理,它是目前世界上最先進的分布式版本控制系統。Git 是用于 Linux內核開發的版本控制工具。
與常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本庫的方式,不必服務器端軟件支持,使源代碼的發布和交流極其方便。Git 的速度很快,這對于諸如 Linux kernel 這樣的大項目來說自然很重要。Git 最為出色的是它的合并跟蹤(merge tracing)能力。
Git是一種非常流行的分布式版本控制系統,它和其他版本控制系統的主要差別在于Git只關心文件數據的整體是否發生變化,而大多數版本其他系統只關心文件內容的具體差異,這類系統(CVS,Subversion,Perforce,Bazaar 等等)每次記錄有哪些文件作了更新,以及都更新了哪些行的什么內容。
Git另一個比較好的地方在于絕大多數操作都可以在本地執行,而每個本地都可以從服務器獲取一份完整的倉庫代碼,而且在沒網的時候仍然可以修改和使用大部分命令,在方便的時候再跟服務器進行同步,這樣可以更好的實現多人聯合編程。
2002年,Linux系統已經發展了十年了,代碼庫之大讓Linus很難繼續通過手工方式管理了,社區的弟兄們也對這種方式表達了強烈不滿,于是Linus選擇了一個商業的版本控制系統BitKeeper,BitKeeper的東家BitMover公司出于人道主義精神,授權Linux社區免費使用這個版本控制系統。
安定團結的大好局面在2005年就被打破了,原因是Linux社區牛人聚集,不免沾染了一些梁山好漢的江湖習氣。
「開發Samba的Andrew試圖破解BitKeeper的協議(這么干的其實也不只他一個),被BitMover公司發現了」(監控工作做得不錯!),于是BitMover公司怒了,要「收回Linux社區的免費使用權」。
Linus本可以向BitMover公司道個歉,保證以后嚴格管教弟兄們,嗯,但是Linus不是一般人,「道歉是不可能的,這輩子都不可能的」。
于是Linus花了「兩周時間」自己用C寫了一個分布式版本控制系統,這就是Git!一個月之內,Linux系統的源碼已經由Git管理了!
「牛」是怎么定義的呢?大家可以體會一下。
Git
Git迅速成為最流行的分布式版本控制系統,尤其是2008年,GitHub網站上線了,它為開源項目免費提供Git存儲,無數開源項目開始遷移至GitHub,包括jQuery,PHP,Ruby等等。
GitHub,全世界開發者的安全空間,在這里,你可以分享你的代碼為大家所用,也可以和全世界的開發者一起共建完善你的代碼。現在有越來越多的公司都把代碼放在了Github服務器上。
一口君從第一次用過之后就愛不釋手,被其中的設計哲學深深折服,因為Git管理軟件版本實在太過方便了。
通過commit來研究和學習一個軟件產品如何從最初code base慢慢迭代成一個成熟的產品,這是提升自己技術水平最快捷之路。
3) Linux
Linux時間線
Linux時間線比較龐大,詳情請復制下面鏈接到瀏覽器:https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg
1991
8月25號 : 21歲的芬蘭學生Linus Benedict Torvalds 在comp.os.minix 新聞組上宣布了它正在編寫一個免費的操作系統。
9月1號 : Linux 0.01在網上發布。
1992
1月5號 : Linux v0.12 release 版本的內核重新以GUN GPL的協議發布。原來的許可證是禁止任何商業用途的。通過這次協議變更,發布和出售修改或未修改版的Linux成為了可能,只要你將這些復制版本以相同的GPL許可證發布,并且有相對應完整的源代碼。在后來的一次采訪中,Linus對這次許可證的更改說了這樣一句話(讓Linux遵守GPL絕對是我干過的最正確的事):
"MakingLinuxGPL'dwasdefinitelythebestthingIeverdid."
1月29號 : Andrew S. Tanenbaum向comp.os.minix郵件列表發送了一封名為LINUX is obsolete的郵件。總的來說,這次被一些人升級為“戰火”的爭論是關于Linux和內核架構的。Tanenbaum爭辯說微內核比宏內核更加高級,所以Linux是過時的。
4月5號 : 第一個Linux新聞組,comp.os.linux由Ari Lemmke提議和開通。
5月21號 : Peter MacDonald 發布第一個獨立的Linux安裝包SLS。可以通過軟盤安裝,包括比較前沿的TCP-IP網絡支持和X Window系統。建議至少預留10M的磁盤空間來安裝。
1993
6月17號 : Slackware Linux由Patrick Volkerding發布。Slackware被認為是第一個取得廣泛成功的Linux發行版,而且它現在還在使用。
8月16號 : Ian Murdock(Debian中的'ian')發布了第一個Debian Linux的發行版。Debian是最有影響力的Linux發行版之一,是MEPIS,Mint,Ubuntu和很多其它發行版的鼻祖。
8月19號 : Matt Welsh寫的《Linux Installation and Getting Started》第1版出版,這是第一本關于Linux的書籍。
1994
3月14號 : Linux內核V1.0發布。它支持基于i386單處理器的計算機系統。這3年來,內核代碼庫已經增長到了176,250行。
3月26號 : 第一期《Linux Journal》雜志發行。這一期雜志的特點是發表了一篇對Linus Torvalds的采訪和一些Phil Hughes, Robert “Bob” Young, Michael K. Johnson, Arnold Robbins, Matt Welsh, Ian A寫的文章。
8月15號 : Willian R. Della Croce, Jr. 申請了“Linux”商標,9月進行了注冊。Della Croce在不知道Linux社區財政窘迫的前提下,向煊赫的“Linux公司”寫了一封信,要求他們為“Linux”商標使用支付費用。直到1997年,這次風波以將商標轉讓給代表所有請愿者和Linux使用者的Linus Torvalds而告終。
11月3號 : Red Hat的共同創始人Marc Ewing宣布可以以49.95美元的零售價格獲得Red Hat Software Linux的CD-ROM和30天的安裝支持。2012年Red Hat成為第一家市值達10億美元的開源公司。
1995
4月4號 : 開展了第一個專門針對Linux的貿易展和會議系列,名字叫Linux Expo。這成為接下來幾年中,最流行和備受關注的年度Linux盛會。貿易展和會議的入場券價格是4美元。3年后,Red Hat接管了組織工作,同時也是主要的贊助商。
1996
5月9號 : 最初由Alan Cox提議,之后又經Linus Torvalds改良,Larry Ewing在1996年創造了現在看到的這只叫做Tux的吉祥物。選定企鵝作為Linux吉祥物的主意來自Linus Torvalds,他說自己被一只企鵝輕輕地咬了一口之后就具有了企鵝的特征。(這是要變成企鵝俠嗎?估計是原作者調皮了?--譯注)
6月9號 : Linux內核V2.0發布。相比更早的版本這是一次意義重大的提升,這是第一個在單系統中支持多處理器的穩定內核版本,也支持更多的處理器類型。Linux從此以后成了很多公司一個鄭重選擇的對象。你可以閱讀1996年8月在Linux Journal上發布的回顧Linux V2.0來了解更多相關的提升。
10月14號 : 1996年Mattias Ettrich發起了KDE項目,因為他深受Unix桌面系統下應用程序的不一致之苦。(在此之前Unix和Linux都沒有一個統一的桌面系統,編寫桌面軟件非常復雜--譯注)
1997
1月9號 : 第一個“Linux病毒”Bliss被發現了。Bliss不危害系統的安全,它依賴于人們用特權干蠢事來感染系統,然后提醒用戶只安裝從可靠站點下載的可以驗證數字簽名的軟件,并且安裝之前一定要先驗證簽名(很多地方把這個算作第2個Linux病毒,因為之前還有一個更加“綠色”的病毒--譯注)。“事實上,在Linux上寫一個病毒可能會更加的簡單,因為Linux是開源的,所有的源代碼都是可以獲取的。所以,隨著Linux變得更加通用和流行的時候,我們將看到更多的Linux病毒。”--來自McAfee的暢想。
1998
5月1號 : Google搜索引擎面世。它不僅僅是世界上最好的搜索引擎之一,更是基于Linux的,它的特征是有一個Linux的搜索頁面。
12月4號 : 一份來自IDC的報告稱1998年Linux的出貨量至少上升了200%,市場占有率上升至少150%。Linux的市場占有率為17%,并且以其它任何操作系統無法企及的速度增長著。
1999
2月9號 : Linux和BSD使用者們發起了“Windows退款日”。他們聯合起來造訪了微軟公司,希望退還他們在買電腦時綁定購買Windows許可證的錢,這些許可證他們從來沒有用過。
3月3號 : 另一個頗具影響力的桌面系統進入了Linux的世界,就是GNOME桌面系統。在很多主要的Linux發行版比如Debian,Fedora,RedHad Enterprise Linux和SUSE Linux Enterprise Desktop中,GNOME是默認的桌面環境。
2000
2月4號 : 最新的IDC報告表明Linux現在排在“最受歡迎的服務器操作系統的第2位”,1999年服務器系統銷售量占總量的25%。Windows NT以38%位列第1,NetWare以19%排在第3位。
3月11號 : 摩托羅拉公司宣布發行HA Linux。這個發行版專注于通信應用領域,對系統不關機連續運行時間要求非常高。它還包括了熱交換能力和支持i386和PowerPC架構。
3月23號 : 愛立信公布了“Screen Phone HS210”,這是一款基于Linux的觸屏手機,具備郵件和網頁瀏覽等功能。愛立信和Opera Software公司同時宣布這款手機將會安裝Opera的網頁瀏覽器。
10月30號 : 第一個Linux live發行版由Linux咨詢顧問Klaus Knopper發布,名字叫做Knoppix。
2001
1月3號 : 美國NAS(美國國家安全局)以GPL許可證發布了SELinux。SELinux提供了標準Unix權限管理系統以外的另一層安全檢查。
2003
3月6號 : SCO Group公司宣布他們正在發起對IBM高達10億美元的訴訟,他們聲稱IBM把SCO的商業機密整合到了Linux中。之后SCO公司發起了一系列的法律訴訟案,這威脅到了很多計算機行業的巨頭包括惠普,微軟,Novell,Silicon Graphics,Sun Microsystems和RedHat。這次案件在Novell公司的支持下于2010年3月30號判決完畢。(著名的SCO-Linux爭議,SCO聲稱擁有System V的部分源碼所有權,IBM將這部分源碼整合到Linux中侵犯了SCO著作權。最后聯邦法院裁定Novell才是Unix商標的合法擁有者。--譯注)
2004
10月20號 : Ubuntu以一個不同尋常的版本號4.10和怪異的版本代號“Warty Warthog”(長滿疙瘩的非洲疣豬)進入大家的生活。用這個版本號是因為發布日期是2004年10月。Ubuntu的開發由Cannonical Ltd公司主導,公司的創始人是Mark Shuttleworth(就是那個不到30歲的億萬富翁,錢多的不知道怎么花,只能燒錢上太空的游一圈的人--譯注)。Ubuntu雖然不是內核的主要貢獻者,然而對于Linux的臺式機和筆記本電腦的普及,Ubuntu扮演著一個重要的角色。
2007
6月6號 : 華碩在2007的臺北電腦展上展出了兩款“易PC”(Eee PC):701和1001。第1批易PC預裝的是Xandros Linux,這是一個基于Debian,輕量級的為適應小屏幕進行過優化的Linux發行版。
8月8號 : 2007年Linux基金會由開源發展實驗室(OSDL)和自由標準組織(FSG)聯合成立。這個基金會目的是贊助Linux創始人Linus的工作。基金會得到了主要的Linux和開源公司,包括富士通,HP,IBM,Intel,NEC,Oracle,Qualcomm,三星和來自世界各地的開發者的支持。
「11月5號 : 與之前大家推測的發布Gphone不同,Google宣布組建開放手機聯盟(Open Handset Alliance)和發布Android,它被稱為“第一個真正開放的綜合移動設備平臺”。」
2009
1月29號 : 2009年1月紐約時報稱“現在預計有超過10億人在運行Ubuntu系統”。
2011
5月11號 : 2011年Google I/O大會發布了Chrombook。這是一款運行著所謂云操作系統Chrome OS的筆記本。Chome OS是基于Linux內核的。
6月21號 : Linus Torvalds 發布了Linux3.0版本。
2013
12月13號 : Valve公司發布基于Linux的SteamOS操作系統,這是一個視頻游戲控制臺系統。
4)《大教堂與集市》
Linus發明Linux過程有點像將簡陋的集市構建成一個宏偉壯麗的大教堂的一個過程。
《大教堂與集市》這本書分析了這種設計哲學。
世界上的建筑可以分兩種:「一種是集市」,天天開放在那里,從無到有,從小到大;還有一種是「大教堂」,幾代人嘔心瀝血,幾十年才能建成,投入使用。
「當你新建一座建筑時,你可以采用集市的模式,也可以采用大教堂的模式。」
一般來說,集市的特點是開放式建設、成本低、周期短、品質平庸;大教堂的特點是封閉式建設、成本高、周期長、品質優異。
Eric Raymond總結了集市要變成大教堂,有幾個前提條件:
1)你不能從零開始建設集市,你必須先有一個原始項目。(It‘s fairly clear that one cannot code from the ground up in bazaar style.)
2)你的原始項目可以有缺陷,但是它必須能運行。(It can be crude, buggy, incomplete, and poorly documented. What it must not fail to do is run.)
3)你必須向用戶展示一個可行的前景,且讓潛在的合作者相信在可預見的將來它會變成一個真正漂亮的東西。(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.)
4)項目的主持者本身不一定是天才,但他一定要能夠慧眼識別出他人的優秀想法。(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.)
5)項目的主持者必須要有良好的人際關系、交流技能和人格魅力。這樣才能吸引他人,使別人對你所做的事感興趣,愿意幫助你。(A bazaar project coordinator or leader must have good people and communications skills.)
Eric Raymond同時也總結了一些成功的充分條件。
1)項目首先必須是你自己感興趣的,但是最終能對其他人有用。
2)將用戶當作合作者。
3)盡快地和經常地做出改進,多聽取用戶的意見。
4)健壯的結構遠比精巧的設計來得重要。換句話說,結構是第一位的,功能是第二位的。
5)保持項目的簡單性。設計達到完美的時候,不是無法再增加東西了,而是無法再減少東西了。
一個開放式的項目,如果加以良好的管理和運作,能取得比同等的封閉式項目大得多的成功。
三、比較
已經介紹了兩位大神的生平的功績,那下面我們來做個點評吧。
其實究竟誰更強,誰的貢獻更大,作為一個晚輩程序員,對他們只有膜拜的分,豈敢隨便下結論說他們誰更強,只能從他們的工作內容和主要成就來說說個人看法,不足之處,還請指正。
1. 成果
首先說說C語言之父丹尼斯?里奇(Dennis M. Ritchie),他對C語言的貢獻大家有目共睹,不必多說。
除了是C語言的主要發明者之外,他還因為對Unix操作系統的重大貢獻而被稱為Unix之父。然而他的貢獻遠非如此,在Unix取得了巨大成功之后,他們在20世紀80年代開始研究一個名為Plan 9的操作系統,其目的就是解決Unix中的一些問題。
在之后的幾十年中,該項目演變出了一個叫Inferno的項目以及一個名為Limbo的新語言,而該語言被公認為是目前火熱的編程語言Go的前身。
從上面可以看出,丹尼斯?里奇的貢獻是多方面的,除了編程語言還有操作系統,也正是因為如此,他獲得了無數的獎項,其中最著名的就是「圖靈獎」(1983)和「計算機先驅獎」(1994)。
再說說Linux之父,Linus Torvalds,他的貢獻主要是開發了Linux操作系統的內核,然后將之開源公布于世,最后形成了對計算機行業影響巨大的一套操作系統,并且因此獲得了計算機先驅獎(2014)。
2005年用兩周的時間就研發出了Git,而這個軟件版本管理軟件影響了全球無數的軟件開發者。
成果上來說,二位實在不相上下。
2. 難度
從難度上講,編譯器要比操作系統難度高很多,而且linux并不是從零起步的,它是繼承unix系統內核的,使之適應PC兼容機,而我們知道,C語言之父Dennis M Ritchie同時也是unix的創建者之一,在發明C語言之后,他自己又重新用C寫了一遍unix,linus對他就是小弟弟了,寫個操作系統對他而言并不費事。
現代的windows、linux給人感覺很龐大,因為它們是個平臺,上面有海量應用和中間件,編譯器給人感覺很小,但對內行來說,「編譯器的難度要遠高于操作系統」。
操作系統是需要耗費很多人工開發上面的應用,是軟件界的勞動密集產品,而編譯器更像是大師的藝術品,編譯器是生產其它軟件的工廠,對它的要求非常高。
我們國家其實早就能做操作系統了,985大學里專業的本科學生就能交一份非商用的操作系統作業,但自己的編譯器還是零,并不是學了編譯原理就寫的來編譯器的。
3. 編程水平
從他們的工作成就來看,我認為丹尼斯?里奇更厲害一些,他的成就是多方面的,而且最關鍵的一點,Linux的系統原型(Unix的變體minix)和編程語言(C語言)都來自于丹尼斯?里奇的貢獻的。但是如果僅僅從編程能力來說,到他們那種級別對編程都已經是爐火純青,很難分出高下!
C語言之父相當于自己動手造了一臺挖掘機。人們可用他的挖掘機做能做的事。
linux之父相當于自己帶頭挖了幾個基坑,然后有一大票自帶磚瓦、鋼筋、混凝土的小伙伴共同建起一座大廈。又因為是linus是帶頭人,所以大廈名字由他起且看門大爺是他當。
況且,蓋大廈(寫操作系統)這種事,里奇同志早就干過了,而且是用自家造的機器和兩個小伙伴就干成了!
應該說在Dennis M Ritchie面前Linus就是弟弟。
4. 對社會直接貢獻
兩位都為社會進步做了很大貢獻。如果硬要比較的話,個人覺得linux和git的直接貢獻更大一些。
沒什么好說的,去各大軟件公司走一圈就知道了,幾乎沒有不用Linux的。
Linux應用的領域非常之廣:
Linux在服務器領域的發展
隨著開源軟件在世界范圍內影響力日益增強,Linux服務器操作系統在整個服務器操作系統市場格局中占據了越來越多的市場份額,已經形成了大規模市場應用的局面。并且保持著快速的增長率。尤其在政府、金融、農業、交通、電信等國家關鍵領域。此外,考慮到Linux的快速成長性以及國家相關政策的扶持力度,Linux服務器產品一定能夠沖擊更大的服務器市場。
據權威部門統計,目前Linux在服務器領域已經占據75%的市場份額,同時,Linux在服務器市場的迅速崛起,已經引起全球IT產業的高度關注,并以強勁的勢頭成為服務器操作系統領域中的中堅力量。
Linux在桌面領域的發展
近年來,特別在國內市場,Linux桌面操作系統的發展趨勢非常迅猛。國內如中標麒麟Linux、紅旗Linux、深度Linux等系統軟件廠商都推出的Linux桌面操作系統,目前已經在政府、企業、OEM等領域得到了廣泛應用。另外SUSE、Ubuntu也相繼推出了基于Linux的桌面系統,特別是Ubuntu Linux,已經積累了大量社區用戶。但是,從系統的整體功能、性能來看,Linux桌面系統與Windows系列相比還有一定的差距,主要表現在系統易用性、系統管理、軟硬件兼容性、軟件的豐富程度等方面。
Linux在移動嵌入式領域的發展
Linux的低成本、強大的定制功能以及良好的移植性能,使得Linux在嵌入式系統方面也得到廣泛應用,目前Linux以廣泛應用于手機、平板電腦、路由器、電視和電子游戲機等領域。在移動設備上廣泛使用的Android操作系統就是創建在Linux內核之上的。目前,Android已經成為全球最流行的智能手機操作系統,據2015年權威部門最新統計,Android操作系統的全球市場份額已達84.6%
此外,思科在網絡防火墻和路由器也使用了定制的Linux,阿里云也開發了一套基于Linux的操作系統“YunOS”,可用于智能手機、平板電腦和網絡電視;常見的數字視頻錄像機、舞臺燈光控制系統等都在逐漸采用定制版本的Linux來實現,而這一切均歸功于Linux與開源的力量
Linux在云計算/大數據領域的發展
互聯網產業的迅猛發展,促使云計算、大數據產業的形成并快速發展,云計算、大數據作為一個基于開源軟件的平臺,Linux占據了核心優勢;據Linux基金會的研究,86%的企業已經使用Linux操作系統進行云計算、大數據平臺的構建,目前,Linux已開始取代Unix成為最受青睞的云計算、大數據平臺操作系統
國內 Linux 操作系統發展現狀
國內目前涉足Linux操作系統研發除學校、研發機構外,主要 Linux 發行版包括紅旗、中標、共創、新華、拓林思等,均有桌面和服務器兩個版本;國內各發行版均基于國際社區版本發展而來,基于國際社區成果,在界面定制上做了一些工作,并沒有掌握核心技術,且與國際Linux 操作系統發行版之間存在一定的技術差距,缺少技術積累,面臨Linux發展后勁不足等問題
國外Linux操作系統發展現狀
國外 Linux 操作系統發展現狀 國外主要發行版包括redhat、ubuntu、Suse 等,均提供桌面和服務器兩個不同版本。服務器領域 Linux 操作系統發展比較成熟,桌面發展比較緩慢,嵌入式領域發展較快。
可以說我們的生活已經無法離開Linux,絕大部分軟件工程師都會用到Linux,但一定要記住這些都是建立在C語言的基礎之上。
5. 個人理解
其實2人都不是從0開始的, 一個是基于B語言和unix系統的需求出發創造了c語言,
一個是基于minix和unix思想還有當時的機遇開發了linux。都是站在前任的肩膀上成功的。
在彭老師心里,Dennis Ritchie更加重要一些,因為他用C語言開辟了一個新的世界,從誕生開始到現在,一直穩居語言榜前三位,都快50年了,我們依然在用它。
而Linux在服務器和移動端的占有率實在太高,直接貢獻更多一些,而linus最厲害的一點是他做到了協調世界各地數以百萬計的開發者開發維護linux,這難度更大些。
彭老師內心可能更崇拜linus多一些,尤其他那一句“「Talk is cheap!Show me your code!」”!
責任編輯:xj
原文標題:C語言之父和Linux之父誰更偉大?
文章出處:【微信公眾號:嵌入式ARM】歡迎添加關注!文章轉載請注明出處。
-
Linux
+關注
關注
87文章
11325瀏覽量
209954 -
計算機
+關注
關注
19文章
7522瀏覽量
88304 -
C語言
+關注
關注
180文章
7611瀏覽量
137233
原文標題:C語言之父和Linux之父誰更偉大?
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論