您好,登錄后才能下訂單哦!
Unix和 C 語(yǔ)言的發(fā)明人,圖靈獎(jiǎng)獲得者,丹尼斯·里奇先生,于2011年10月8日在位于美國(guó)新澤西州的家中病逝??梢哉f(shuō),幾乎所有的網(wǎng)絡(luò)產(chǎn)品都是基于丹尼斯先生的成就誕生的,我們都站在他的肩膀上。謹(jǐn)以此文緬懷里奇先生。
C語(yǔ)言之父丹尼斯·里奇先生于2011年10月8日在位于美國(guó)新澤西州的家中病逝。這一新聞在廣大計(jì)算機(jī)的愛(ài)好者和研究人員中引起巨大反響,然而諸多悼詞和追憶的描述卻不夠準(zhǔn)確。在此,我們借本文回顧里奇先生一生的巨大貢獻(xiàn),愿世人緬懷,愿先生安息。 里奇先生被譽(yù)為C語(yǔ)言之父,他不但和肯·湯普森(Ken Thompson)一起創(chuàng)造了C語(yǔ)言。他還開(kāi)發(fā)出了UNIX操作系統(tǒng),我們?nèi)缃袷褂玫暮芏嗖僮飨到y(tǒng)都是建構(gòu)在UNIX內(nèi)核之上,包括蘋(píng)果帝國(guó)的所有產(chǎn)品。 回憶一周之前,喬布斯去世時(shí),網(wǎng)絡(luò)上鋪天蓋地諸多贊譽(yù)與哀思,其產(chǎn)品風(fēng)靡所帶來(lái)的全球性用戶崇拜史無(wú)前例。其實(shí),里奇先生更應(yīng)享受這些贊譽(yù),甚至更多。 羅伯是里奇的同事,二人在貝爾實(shí)驗(yàn)室共事20年,正是他在第一時(shí)間于Google+上發(fā)表這則新聞。羅伯說(shuō): 網(wǎng)絡(luò)已經(jīng)成為當(dāng)代生活不可或缺的一部分。然而,缺少了里奇所創(chuàng)造的 C 語(yǔ)言和 UNIX ,網(wǎng)絡(luò)和任何網(wǎng)絡(luò)產(chǎn)品都不可能存在。比如,瀏覽器是用 C 語(yǔ)言寫(xiě)的,網(wǎng)絡(luò)服務(wù)器是C語(yǔ)言寫(xiě)的,很多人反駁說(shuō)他們所使用的是 JAVA 或者 C++,但它們也是 C 語(yǔ)言的衍生物。包括網(wǎng)頁(yè)架構(gòu)時(shí)的 Python 和 Ruby 兩種程序語(yǔ)言,也是基于 C 語(yǔ)言的。除此而外,所有的網(wǎng)絡(luò)硬件產(chǎn)品都是 C 語(yǔ)言所編寫(xiě)的,而 UNIX 是整個(gè)因特網(wǎng)所運(yùn)行的基礎(chǔ)。由此可見(jiàn),我們?cè)鯓釉u(píng)價(jià)里奇先生的豐功偉績(jī),都不足為過(guò)。甚至Windows 也曾經(jīng)用C 語(yǔ)言寫(xiě)過(guò),蘋(píng)果公司用于個(gè)人電腦、iPad和iPhone上的操作系統(tǒng),都是基于UNIX的。 麻省理工大學(xué)計(jì)算機(jī)系的馬丁教授評(píng)價(jià)說(shuō): 1972年,丹尼斯·里奇和肯·湯普森在操作PDP-11迪吉多電腦 里奇開(kāi)發(fā) C 語(yǔ)言的初衷,是在與肯·湯普森合作研發(fā) UNIX 系統(tǒng)時(shí)需要一種更好的描述性語(yǔ)言。 剛開(kāi)始,UNIX 內(nèi)核是使用匯編語(yǔ)言編寫(xiě)而成的。然而隨著開(kāi)發(fā)進(jìn)展,數(shù)據(jù)量猛增,能夠?qū)?shù)據(jù)進(jìn)行有效整理和靈活操作的需求便應(yīng)運(yùn)而生。在1970年前后,他們嘗試通過(guò)改進(jìn) Fortran 語(yǔ)言來(lái)進(jìn)行數(shù)據(jù)管理和操作,卻沒(méi)有達(dá)到預(yù)想的目的。隨即幾年后,二人合作公布出了 B 語(yǔ)言。 關(guān)于 B 語(yǔ)言的名字由來(lái),傳言有兩個(gè)版本。一說(shuō)B是為了紀(jì)念肯恩的妻子邦妮(Bonnie),另有說(shuō)法稱, B 指代 BCPL,這是上世紀(jì)60年代中期由劍橋大學(xué)開(kāi)發(fā)出的一種計(jì)算機(jī)語(yǔ)言。這兩種說(shuō)法孰是孰非并不重要,重要的是 B 語(yǔ)言的命名決定了其后的改進(jìn)版本被命名為, C 語(yǔ)言。 B 語(yǔ)言是一種解釋性語(yǔ)言,也就是說(shuō)它在軟件運(yùn)行和 CPU 運(yùn)行中起到中間層的作用。與此不同, C 語(yǔ)言是編譯語(yǔ)言,它在運(yùn)行之前被編譯成機(jī)器語(yǔ)言,直接在 CPU 上運(yùn)行,其運(yùn)行速度非B語(yǔ)言所能比。 最早期的 C 語(yǔ)言和我們?nèi)缃袼褂玫陌姹究蚣苌喜](méi)有太大出入,但是功能簡(jiǎn)化許多。當(dāng)時(shí)為了滿足研發(fā)新型 UNIX 內(nèi)核的需要,它主要提供了數(shù)據(jù)結(jié)構(gòu)和變量類型。 里奇曾開(kāi)玩笑稱, C 語(yǔ)言擁有匯編語(yǔ)言的力量和匯編語(yǔ)言的便利性。這句話的意思是, C 語(yǔ)言的運(yùn)行方式更接近于硬件系統(tǒng)。但是,里奇的這句玩笑并沒(méi)有準(zhǔn)確定位 C 語(yǔ)言的地位, C 語(yǔ)言所提供的數(shù)據(jù)結(jié)構(gòu),力發(fā)千鈞,足以貫穿所有高層和底層的語(yǔ)言。 羅伯解釋數(shù)據(jù)結(jié)構(gòu)的重要性: 正如 UNIX 的源代碼清晰流暢,可讀性強(qiáng)。如果沒(méi)有一個(gè)好的數(shù)據(jù)結(jié)構(gòu)作為基礎(chǔ),這是不可能實(shí)現(xiàn)的。比如,當(dāng)我們需要對(duì)大量數(shù)據(jù)進(jìn)行分類和整合的時(shí)候,如果使用的是 Fortran 語(yǔ)言,就會(huì)變得束手無(wú)策。 由于 C 語(yǔ)言中對(duì)于數(shù)據(jù)結(jié)構(gòu)的有效準(zhǔn)確的定義,使得其具有強(qiáng)大的可移植性。這種特性使得用C語(yǔ)言所編寫(xiě)出的操作系統(tǒng)可以用于不同的平臺(tái),這正是里奇在研發(fā) UNIX 時(shí)最主要的初衷,也是如今新型操作系統(tǒng)的主流開(kāi)發(fā)方法。 比爾是英偉達(dá)公司的首席科學(xué)家,同時(shí)也是斯坦福大學(xué)貝爾實(shí)驗(yàn)室的教授,他說(shuō): 從貝爾實(shí)驗(yàn)室到微軟,再到眾人所熟知的利器, C 語(yǔ)言是怎樣在科技打造世界的革命中成為了最強(qiáng)有力的武器呢? 革命風(fēng)潮始發(fā)于1973年,里奇發(fā)表出第一篇關(guān)于C語(yǔ)言的學(xué)術(shù)性論文。5年之后,他和同事布萊恩·克尼漢撰寫(xiě)出里程碑式的一本書(shū)《C程序設(shè)計(jì)語(yǔ)言》(The C Programming Language)??四釢h日后回憶說(shuō),為了說(shuō)服里奇加入合著陣營(yíng)他費(fèi)盡口舌,他笑稱甚至險(xiǎn)些“扭斷了里奇的胳膊”。 羅伯對(duì)于里奇的崇拜正是來(lái)源于這本書(shū)。當(dāng)時(shí),他還是多倫多大學(xué)里的一名本科生,他回憶道:“我是在病床上第一次讀這本書(shū),立馬就被其清晰的描述和深入淺出的解讀給吸引住了,這種語(yǔ)言和邏輯的清晰準(zhǔn)確表達(dá)是日后任何教材或者參考手冊(cè)都無(wú)法超越的,它堪稱經(jīng)典,甚至讓我忘記了當(dāng)時(shí)正在生病。” 通過(guò)這本書(shū),當(dāng)年如羅伯一樣的很多大學(xué)生開(kāi)始使用 C 語(yǔ)言。尤其當(dāng)貝爾實(shí)驗(yàn)室公布出 UNIX 的源代碼之后,C語(yǔ)言的風(fēng)潮已經(jīng)勢(shì)不可擋??梢哉f(shuō), UNIX 源代碼的公布不僅推進(jìn)了計(jì)算機(jī)語(yǔ)言的發(fā)展,更決定了日后互聯(lián)網(wǎng)時(shí)代的開(kāi)源計(jì)劃是應(yīng)始之驅(qū)。里奇于1983年被授予圖靈獎(jiǎng),并且于1998年獲得了國(guó)家科技勛章。 羅伯介紹說(shuō),里奇是一個(gè)非常低調(diào)地科研工作者。和喬布斯力圖形成壟斷的個(gè)人主義截然不同,里奇一直希望自己的工作能夠?yàn)楦嗟目蒲泄ぷ髡咚?,能夠?yàn)樗巳蘸蟮目蒲泄ぷ骱涂萍歼M(jìn)展提供便利。 克尼漢評(píng)價(jià)道:牛頓說(shuō)他是站在巨人的肩膀上,如今,我們都站在里奇的肩膀上。 這句話,應(yīng)該是對(duì)丹尼斯·里奇先生的一生最有力也是最中肯的評(píng)價(jià)當(dāng)喬布斯去世時(shí),享受到了聲勢(shì)浩大的追思。相形之下,里奇先生對(duì)當(dāng)代科技進(jìn)程做出了更大的貢獻(xiàn),可公眾甚至不知道他是誰(shuí),這十分不公平。
如果說(shuō),喬布斯是可視化產(chǎn)品中的國(guó)王,那么里奇就是不可見(jiàn)王國(guó)中的君主。喬布斯的貢獻(xiàn)在于,他如此了解用戶的需求和渴求,以至于創(chuàng)造出了讓當(dāng)代人樂(lè)不思蜀的科技產(chǎn)品。然而,卻是里奇先生為這些產(chǎn)品提供了最核心的部件,人們看不到這些部件,卻每天都在使用著。
從B語(yǔ)言到C語(yǔ)言
當(dāng)你在編寫(xiě)一個(gè)大型程序的時(shí)候,你需要管理各個(gè)組件之間的聯(lián)系,包括用戶、文件、硬盤(pán)、程序執(zhí)行等等。為了對(duì)這些部分進(jìn)行有效的控制,首先就需要對(duì)所使用的信息和數(shù)據(jù)進(jìn)行清晰有效的表達(dá),這個(gè)表達(dá)形式就是數(shù)據(jù)結(jié)構(gòu)。
蘋(píng)果,微軟,以及其他,都是站在里奇的肩膀上
C 語(yǔ)言的開(kāi)發(fā)是科技史上不可磨滅的偉大貢獻(xiàn),因?yàn)檫@個(gè)語(yǔ)言把握住了計(jì)算機(jī)科技中一個(gè)至關(guān)重要的并且是恰到好處的中間點(diǎn),一方面它具備搭建高層產(chǎn)品的能力,另一方面又能夠?qū)τ诘讓訑?shù)據(jù)進(jìn)行有效控制。正是由于這種關(guān)聯(lián)性和樞紐性作用,決定了 C 語(yǔ)言所導(dǎo)向的近三十年來(lái)計(jì)算機(jī)編程主流方式。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。