
防偽查詢
產(chǎn)品分類
聯(lián)系方式
深圳市豹點(diǎn)科技有限公司
地 址:深圳市南山區(qū)桃園路
田廈國(guó)際中心B座1235
郵 編:518052
聯(lián)系人:李先生
電 話:189 4870 7815
手 機(jī):189 2467 2967
傳 真:0755-8670 3785
E-mail:felix411@cnbaod.com
網(wǎng) 址:www.cnbaod.com
“十年前,喬布斯發(fā)布了第一代iPhone,完全革新了手機(jī);十年之后,在這樣一個(gè)場(chǎng)合、這樣一個(gè)時(shí)間點(diǎn),蘋果同樣需要發(fā)布一款革新產(chǎn)業(yè)的產(chǎn)品。”
出場(chǎng)后僅僅說了兩句話,庫克就停下來清了清嗓子,用右手擦掉眼角的淚水。
當(dāng)史上最貴的iPhone發(fā)布,人們致敬緬懷喬幫主之時(shí),不禁再次想到了另一個(gè)被人們遺忘的巨人。
丹尼斯·里奇(Dennis Ritchie),一個(gè)很少有人知道的傻傻的老頭,也是在2011年10月逝世,和喬布斯離開的時(shí)間只相差了幾天。
不同的是,一個(gè)被媒體捧上神壇,一個(gè)是被遺忘的巨人。
丹尼斯·里奇,C語言之父,Unix和C語言的發(fā)明人,圖靈獎(jiǎng)獲得者,今天幾乎所有的IT產(chǎn)品都是基于丹尼斯先生的成就誕生的。
“他的名字根本不是一個(gè)家喻戶曉的名字,但是如果你有一臺(tái)顯微鏡,可以看電腦,你會(huì)看到他的工作到處都是。“
——Paul E. Ceruzzi,計(jì)算機(jī)史學(xué)家
蘋果,微軟,Windows,Android,iOS,JavaScript,C ++…今天我們熟悉的IT技術(shù)和軟件不過都是站在里奇這個(gè)巨人的肩膀上而已。
貝爾實(shí)驗(yàn)室走出的C語言之父
里奇出生于1941年9月9日,他的父親Alistair Ritchie曾是貝爾實(shí)驗(yàn)室的交換系統(tǒng)工程師。里奇高中畢業(yè)后,1963年獲哈佛大學(xué)物理與應(yīng)用數(shù)學(xué)學(xué)士學(xué)位,1968年獲哈佛大學(xué)數(shù)學(xué)博士學(xué)位。
1967年里奇進(jìn)入貝爾實(shí)驗(yàn)室,就職于貝爾實(shí)驗(yàn)室計(jì)算科學(xué)研究中心——-當(dāng)時(shí)世界上最著名的數(shù)字創(chuàng)新中心之一,晶體管的發(fā)源地。
在貝爾實(shí)驗(yàn)室,里奇參與了貝爾實(shí)驗(yàn)室Multics操作系統(tǒng)開發(fā)。在這里,里奇遇見了肯·湯普森,后來他成為里奇的主要合作者之一。
后來貝爾實(shí)驗(yàn)室放棄了Multics計(jì)劃,但里奇和肯·湯普森并未放棄合作,他們找到了一臺(tái)PDP-7機(jī)器,從頭開始開發(fā)應(yīng)用程序和操作系統(tǒng),并于1969年成功開發(fā)出UNIX操作系統(tǒng)。
上世紀(jì)70年代,計(jì)算機(jī)硬件并沒有統(tǒng)一的標(biāo)準(zhǔn),花樣百出,軟件開發(fā)者們不得不花很多精力和時(shí)間為每一個(gè)新平臺(tái)創(chuàng)建新的軟件。
原始的UNIX內(nèi)核是用匯編語言編寫的,但是里奇和湯普森覺得需要一個(gè)更高級(jí)別的語言,以便更好地控制跨操作系統(tǒng)的所有數(shù)據(jù)。
他們采用了BCPL(Basic Combined Programming Language)語言,并繼續(xù)對(duì)BCPL進(jìn)行了修改,還為它起了一個(gè)有趣的名字“B語言”。意思是將CPL語言煮干,提煉出它的精華。
他們用B語言寫了第一個(gè)UNIX操作系統(tǒng)。
不過,1973年,這個(gè)B語言又被給“煮”了。里奇在B語言的基礎(chǔ)上最終設(shè)計(jì)出了一種新的語言,并BCPL的第二個(gè)字母作為這種語言的名字,這就是C語言。
C語言通過添加新的數(shù)據(jù)類型和句法升級(jí)了B語言。不同的是,B語言是一種編譯型語言,需要由中間代碼執(zhí)行才能運(yùn)行于CPU,而C語言可直接在CPU上執(zhí)行。
C語言能夠輕松、快速地在不同的硬件之間移動(dòng),用C語言編寫的軟件運(yùn)行于任何可運(yùn)行C語言的設(shè)備時(shí),幾乎不做任何修改。
C語言極具模塊化和結(jié)構(gòu)化特點(diǎn),且由于C語言可以輕松的運(yùn)行于不同的電腦,程序員可以將整個(gè)代碼復(fù)制到自己的軟件中,無需從頭開始,從而實(shí)現(xiàn)起來更加方便快捷。
里奇和肯·湯普森重新用C語言編寫了UNIX操作系統(tǒng)。
直到今天,C語言成為廣泛使用的編程語言,從90年代如日中天的Sun MicroSystems,到今天蘋果帝國(guó)的所有產(chǎn)品操作系統(tǒng),都是源于UNIX和C語言。如果你用的不是蘋果,安卓系統(tǒng)也是。
UNIX本質(zhì)上是一個(gè)簡(jiǎn)單的操作系統(tǒng),但你必須是一個(gè)了解簡(jiǎn)單的天才。
—丹尼斯·里奇
了解簡(jiǎn)單的天才
1954年,電氣工程師阿利斯泰爾?里奇(Alistair E. Ritchie),決定舉家從紐約州的布朗克斯維爾(Bronxville),搬到幾十公里以外的新澤西。這樣可以離他的工作單位"貝爾實(shí)驗(yàn)室"更近一些。
13歲的丹尼斯?里奇(Dennis Ritchie),就這樣隨著父親一起來到新澤西。那時(shí),誰也沒有想到,這個(gè)文靜的少年將在這里待上一輩子,并且創(chuàng)造出改變世界的發(fā)明。
中學(xué)畢業(yè)后,丹尼斯?里奇聽從父親的建議,進(jìn)入哈佛大學(xué)學(xué)習(xí)應(yīng)用數(shù)學(xué),直到拿到博士學(xué)位。他的第一份工作,是為軍方研制核武器,這并不符合他的志趣。1967年,通過父親介紹,26歲的他進(jìn)入貝爾實(shí)驗(yàn)室,從事剛剛興起的計(jì)算機(jī)研究。從此,他在新澤西老家一住就是44年,直到去世。
他在貝爾實(shí)驗(yàn)室的第一個(gè)任務(wù),是參與大項(xiàng)目Multics,即開發(fā)一個(gè)前所未有的、可以多人使用的、同時(shí)運(yùn)行多個(gè)程序的操作系統(tǒng)。該項(xiàng)目由貝爾實(shí)驗(yàn)室、麻省理工學(xué)院和通用電氣公司三方聯(lián)合研制,但是由于設(shè)計(jì)過于復(fù)雜,遲遲拿不出成果,1969年貝爾實(shí)驗(yàn)室宣布退出。
第一個(gè)任務(wù)這樣無果而終,丹尼斯?里奇很不甘,但也無能為力。誰知過完了夏天,比他小兩歲的同事肯?湯普森(Ken Thompson)找上門,說借鑒Multics的設(shè)計(jì)思路,做了一個(gè)個(gè)人項(xiàng)目Unix,問他有沒有興趣一起參與。丹尼斯?里奇立刻表示同意,于是兩人一起投入U(xiǎn)nix的開發(fā)。肯?湯普森的專業(yè)是電子工程,丹尼斯?里奇專業(yè)是應(yīng)用數(shù)學(xué),正好互補(bǔ)。經(jīng)過日以繼夜的工作,1969年圣誕節(jié)前,Unix已經(jīng)可以初步運(yùn)行了。
吸取了Multics設(shè)計(jì)復(fù)雜而導(dǎo)致失敗的教訓(xùn),丹尼斯?里奇將Unix的設(shè)計(jì)原則定為"保持簡(jiǎn)單和直接"(Keep it simple stupid),也就是后來著名的KISS原則。為了做到這一點(diǎn),Unix由許多小程序組成,每個(gè)小程序只能完成一個(gè)功能,任何復(fù)雜的操作都必須分解成一些基本步驟,由這些小程序逐一完成,再組合起來得到最終結(jié)果。
表面上看,這樣的設(shè)計(jì)很低效:為了取得結(jié)果,你必須運(yùn)行一連串小程序,那么為什么不用一個(gè)大程序一次運(yùn)行就得到結(jié)果呢?但是事實(shí)證明,由于小程序之間可以像積木一樣自由組合,所以非常靈活,能夠輕易完成大量意想不到的任務(wù)。而且,計(jì)算機(jī)硬件的升級(jí)速度非常快,所以性能也不是一個(gè)問題。另一方面,開發(fā)單一目的的小程序,要比開發(fā)大型程序容易得多,所以Unix才有可能在短短幾個(gè)月內(nèi)問世。
Unix迅速在程序員中流傳,到了80年代,已經(jīng)成為主流操作系統(tǒng),演變成整個(gè)軟件工業(yè)的基礎(chǔ),當(dāng)代最主要的操作系統(tǒng)----Windows、MacOS和Linux----都與Unix有關(guān)。由此可見,丹尼斯?里奇的"保持簡(jiǎn)單"原則,對(duì)計(jì)算機(jī)時(shí)代的影響有多大。
丹尼斯?里奇對(duì)世界的貢獻(xiàn)還不止于此。Unix最早是用不通用的機(jī)器語言編寫的,如果換一個(gè)型號(hào)的計(jì)算機(jī),就必須重新編寫一遍。為了提高通用性和開發(fā)效率,丹尼斯?里奇決定發(fā)明一種新的計(jì)算機(jī)語言----C語言。
C語言也貫徹了"保持簡(jiǎn)單"的原則,語法非常簡(jiǎn)潔,對(duì)使用者的限制很少。丹尼斯?里奇編寫的教材《C編程語言》總共只有100多頁,薄得難以置信。很多人都被它的簡(jiǎn)潔性吸引,學(xué)習(xí)并使用C語言。直到今天,C語言依然是世界上最重要的編程語言之一,"保持簡(jiǎn)單"原則顯示了強(qiáng)大的生命力。
Keep it simple stupid
盡管功成名就,但是就像他的工程設(shè)計(jì)思想,丹尼斯?里奇在個(gè)人生活上也盡量"保持簡(jiǎn)單"。他依然住在新澤西,低調(diào)地生活,不太在媒體上曝光,終身沒有結(jié)婚。
他也始終沒有跳槽,一直在貝爾實(shí)驗(yàn)室工作,盡管后者多次分拆,到了最后已經(jīng)名存實(shí)亡。2001年,接手貝爾實(shí)驗(yàn)室的朗訊公司,決定關(guān)閉大多數(shù)實(shí)驗(yàn)室,許多研究人員紛紛離開,包括Unix發(fā)明者之一的肯?湯普森都去了Google,但是丹尼斯?里奇哪里也沒去,還是留了下來。2006年12月1日,貝爾實(shí)驗(yàn)室被整體賣給了法國(guó)阿爾卡特公司,第二年他就選擇退休了。
退休以后,他過上了隱居生活,外界幾乎忘了他的存在。2011年10月12日,共事20年的同事Rob Pike從加州到新澤西去拜訪他,才發(fā)現(xiàn)他已經(jīng)去世了。由于是獨(dú)居,無法知道準(zhǔn)確的死亡時(shí)間。據(jù)他的兄弟透露,這幾年丹尼斯?里奇的健康狀況一直不好,他患有前列腺癌和心臟病。
Rob Pike在Google Plus發(fā)了一條簡(jiǎn)短的消息,"據(jù)我所知,Unix和C語言發(fā)明人丹尼斯?里奇已經(jīng)去世",外界才知道這件事,引發(fā)了紀(jì)念浪潮。雖然這個(gè)過程有點(diǎn)令人傷感,但是必須說,這很符合他的"保持簡(jiǎn)單"的原則。
▲1999年4月,克林頓總統(tǒng)為里奇頒發(fā)美國(guó)國(guó)家科技獎(jiǎng),以表彰他發(fā)明UNIX操作系統(tǒng)和C編程語言。
提供肩膀的巨人
羅伯是里奇的同事,二人在貝爾實(shí)驗(yàn)室共事20年。羅伯說:
當(dāng)喬布斯去世時(shí),享受到了聲勢(shì)浩大的追思。相形之下,里奇先生對(duì)當(dāng)代科技進(jìn)程做出了更大的貢獻(xiàn),可公眾甚至不知道他是誰,這十分不公平。
網(wǎng)絡(luò)已經(jīng)成為當(dāng)代生活不可或缺的一部分。然而,缺少了里奇所創(chuàng)造的 C 語言和 UNIX ,網(wǎng)絡(luò)和任何網(wǎng)絡(luò)產(chǎn)品都不可能存在。比如,瀏覽器是用 C 語言寫的,網(wǎng)絡(luò)服務(wù)器是C語言寫的,很多人反駁說他們所使用的是 JAVA 或者 C++,但它們也是 C 語言的衍生物。包括網(wǎng)頁架構(gòu)時(shí)的 Python 和 Ruby 兩種程序語言,也是基于 C 語言的。除此而外,所有的網(wǎng)絡(luò)硬件產(chǎn)品都是 C 語言所編寫的,而 UNIX 是整個(gè)因特網(wǎng)所運(yùn)行的基礎(chǔ)。由此可見,我們?cè)鯓釉u(píng)價(jià)里奇先生的豐功偉績(jī),都不足為過。甚至Windows 也曾經(jīng)用C 語言寫過,蘋果公司用于個(gè)人電腦、iPad和iPhone上的操作系統(tǒng),都是基于UNIX的。
麻省理工大學(xué)計(jì)算機(jī)系的馬丁教授評(píng)價(jià)說:
如果說,喬布斯是可視化產(chǎn)品中的國(guó)王,那么里奇就是不可見王國(guó)中的君主。喬布斯的貢獻(xiàn)在于,他如此了解用戶的需求和渴求,以至于創(chuàng)造出了讓當(dāng)代人樂不思蜀的科技產(chǎn)品。然而,卻是里奇先生為這些產(chǎn)品提供了最核心的部件,人們看不到這些部件,卻每天都在使用著。
里奇是一個(gè)非常低調(diào)地科研工作者。和喬布斯力圖形成壟斷的個(gè)人主義截然不同,里奇一直希望自己的工作能夠?yàn)楦嗟目蒲泄ぷ髡咚茫軌驗(yàn)樗巳蘸蟮目蒲泄ぷ骱涂萍歼M(jìn)展提供便利。
克尼漢評(píng)價(jià)道:
牛頓說他是站在巨人的肩膀上,如今,我們都站在里奇的肩膀上。
這句話,應(yīng)該是對(duì)丹尼斯·里奇先生的一生最有力也是最中肯的評(píng)價(jià)。
來源:網(wǎng)優(yōu)雇傭軍