主流媒體記住了喬布斯,但我們不能忘了丹尼斯·里奇

jopen 10年前發布 | 6K 次閱讀 丹尼斯·里奇

主流媒體記住了喬布斯,但我們不能忘了丹尼斯·里奇

        不知不覺, 丹尼斯·里奇辭世 3 周年了。2011 年 10 月 12 日,和里奇共事 20 多年的同事 Rob Pike 從加州到新澤西去拜訪他,才發現他已經去世了。由于是獨居,當時無法知道準確的死亡時間,后來確定離世日期是 2011 年 10 月 9 日。據他的兄弟透露,這幾年丹尼斯·里奇的健康狀況一直不好,他患有前列腺癌和心臟病。

        喬布斯和丹尼斯·里奇都是在同年同月離世。但之后每年的這段時間,很多媒體都會紀念喬布斯,但很少提到丹尼斯·里奇。

        ?下面 2011 年 10 月是 liujinmarshall(應是翻譯)的評論文章:

        ---------------------------------

        人們對里奇的紀念,遠不及對喬布斯鋪天蓋地的悼念。可是,里奇值得人們那樣去做。還是有人出來說了句公道話。

        “史蒂夫·喬布斯上周去世引發了巨大的反響,這當然合情合理。即便影響實際上更為廣泛,丹尼斯卻不為公眾所知”,羅伯·派克說。羅伯是一名在 Google 工作的程序員,作為業界的傳奇性人物,曾經與里奇在著名的貝爾實驗室共事 20 年。

        周三晚間,派克在 Google+ 上發表消息稱,在與病魔進行長久的抗爭后,里奇于上周末在新澤西的家中溘然長逝。雖然在技術圈內引起大量反響,但在主流媒體上,里奇卻沒有得到同巨大影響相稱的悼念。丹尼斯·里奇作為C語言之父,和貝爾實驗室資深研究員肯·湯姆森一起使用C語言開發了 Unix,當今世界大量依賴的操作系統,其中包括史蒂夫·喬布斯治下的蘋果帝國。

主流媒體記住了喬布斯,但我們不能忘了丹尼斯·里奇

        丹尼斯·里奇(站立者)與肯·湯姆森于 1972 年于一臺 PDP-12 前合影 (照片來源:貝爾實驗室提供)

        “現下互聯網基本都在用這兩樣東西:C語言和 UNIX”,派克對《連線》雜志稱,“瀏覽器是用C語言寫的。UNIX 的內核——基本上是因特網運作的基礎——也是用C寫的。Web 服務器也是用C語言寫的,如果不是的話,那就是用 Java 或者 C++ 寫的,兩者都是C語言的派生;要不就是 Python 或者 Ruby,用C語言實現的。然后我幾乎敢保證,運行這些程序的網絡硬件,是用C語言開發的軟件驅動的。”

        “幾乎很難夸大丹尼斯在信息經濟基礎設施方面無所不在的影響力。”

        他補充說,Windows 曾經也是用C語言編寫,而 UNIX 同時也支撐了蘋果桌面操作系統 Mac OS X,以及 iPhone 與 iPad 的操作系統 iOS。“如果說喬布斯是臺前之王,那里奇就是幕后之王。”MIT 電氣工程與計算機系教授 Martin Rinard 如此評價道。Rinard 也是計算機科學與人工智能實驗室的成員。

        “喬布斯的過人之處在于其品位獨特,打造人們為之著迷并引人注目的產品。而里奇卻擅長于開發一些技術人員使用的基礎設施,天天被人們使用卻不為人知。”

        從B語言到C語言

        為了更好開發 UNIX,丹尼斯·里奇而發明了C語言。最初的 UNIX 內核使用匯編語言編寫,之后他們很快決定要用一種高級語言,讓他們更好的駕馭操作系統中的復雜數據。1970 年左右,他們嘗試使用 Fortran,不過沒有達到預期目標。接著,在湯姆森創立的B語言基礎上,里奇提出了一門新語言。

        不管你是從哪里聽來的消息,B語言得名于湯姆森的妻子 Bonnie,抑或是 BCPL,一門劍橋于 60 年代中期開發的語言。

        B 語言是一種解釋性語言——意味著它由一個運行于 CPU 之上的中間件解釋執行——而C卻是一門編譯語言。它被翻譯成機器代碼,在 CPU 上直接執行。即便如此,C當時被認為是一門高級語言。C語言提供了里奇和湯姆森想要的靈活性,卻也很快。

        C 語言的第一個版本和現在的樣子相差不太多,相對簡單點。它可以自定義數據結構和類型并聲明變量,里奇和湯姆森就是用它編寫了 UNIX 新內核。“他們發明了C來開發程序”,十年之后加入貝爾實驗室的派克說,“而那個程序就是 UNIX 內核。”

        關于里奇一直流傳的一個笑話是:C語言同時擁有了“匯編語言的強大能力以及…匯編語言的便利性”。換句話說,他承認C語言并不完美,并且十分接 近硬件層次。如今C語言被認為是一門低級語言而不是高級語言。不過這個笑話并不公平。C語言提供了真正的數據結構概念,從這個角度來說已經足夠高級了。

        “當你在編寫一個大型程序——比如 UNIX——你必須管理好各種各樣模塊之間的交互:所有用戶、文件系統、磁盤、程序執行等等。而有效的管理則需要良好的數據表示,這就是所謂的數據結構”,派克說。

        “在沒有數據結構組織的情況下,編寫一個與 UNIX 一樣一致和優雅的內核基本上是不可能的。需要一個機制組織好數據,而 Fortran 卻不擅長于此。”

        在那個時候,寫一個操作系統并不多見,這也給了里奇和湯姆森機會,在 70 年代末把操作系統移植到其它平臺。“從此 UNIX 洪水之門被打開”,派克說,“這全都多虧有了C語言。”

        蘋果、微軟及其他

        與此同時,C語言也開始傳播到全世界,從貝爾實驗室到全世界的大學,也到了微軟,一個在 80 年代異軍突起的軟件公司。“C語言的開發是一個重大的飛躍,是個很好的折衷…C語言達到了完美的平衡,讓你在較高層次高效率開發的同時,卻不失去對每處細 節的控制”,NVIDIA 和貝爾的首席科學家兼斯坦福大學工程系教授 Bill Dally 說。“它為之后數十年來軟件開發定下了基調。”

        正如派克指出的那樣,C語言內置的數據結構后來發展出面向對象范式,被現代編程語言如 C++ 和 Java 大量采用。

        1973 年,里奇發表了關于這門語言的論文,被認為是革命開始的標志。5 年后,他和同事布萊恩·克尼漢(Brian Kernighan)發布了C語言的權威著作:《C程序設計語言》。該書最早是克尼漢為C語言編寫的教程,后來他拉著丹尼斯一起把書寫完。

        當派克還在多倫多大學讀本科的時候,在一個因病返家的下午里讀到了這本書。“那本參考手冊相對于其他的手冊而言,簡直就是清晰和可讀的典范。毋庸置疑是一部經典之作。”,他說,“我生病躺床上翻一翻,沒想到竟讓我忘記了病痛。”

        和許多大學生一樣,Pike 那時已經開始使用C語言了。由于貝爾實驗室開始分發 UNIX 源代碼,它逐漸風靡大學校園。此外,UNIX 還催生了現代開源運動。這并不是什么言過其實,里奇的影響之大怎么說都不為過。即便里奇在 1983 年獲得的圖靈獎和 1998 年獲得的國家技術勛章也不能完全彰顯他的貢獻。

        在克尼漢和派克眼中,里奇是一個少有的孤僻的人。“我和他一同工作了超過 20 個年頭,但還是覺得不是很了解他這個人”,派克說。但這并不是他低調的理由。史蒂夫·喬布斯也是一個孤僻的人,只不過保持低調只使得人們對他的崇拜有增無減。

        里奇所處的時代和工作環境與喬布斯千差萬別,這也許是他未得到應得紀念的原因。但是,他留下的遺產總有大佬能夠明白。“眾所周知牛頓說過他是站在巨人的肩膀上”,克尼漢說,“我們都站在丹尼斯的肩膀上。”

       來自: 伯樂在線
                    <span id="shareA4" class="fl">                             
                        </span> 

</div>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!