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