近日,“日本獎”基金會在美國舉行了2011年度“日本獎”的頒獎儀式。Unix之父Dennis Ritchie榮獲“資訊與通訊獎“。IEEE Spectrum資深新聞編輯Samuel K. Moore為此專訪了Dennis Ritchie,下面是對本次采訪内容的編譯。

Unix之父Dennis Ritchie
“日本獎”基金會于今年1月宣布了2011年度“日本獎”獲獎名單,Dennis Ritchie和Ken Thompson因在Unix作業系統開發中所作出的貢獻,而榮獲“資訊與通訊獎”;Tadamitsu Kishimoto和Toshio Hirano則因為發現白細胞介素6(interleukin-6)而獲得“生物科學與醫藥科學獎”。
該頒獎儀式往年通常在日本舉行,但由于今年日本發生地震和海嘯,3月17日,該基金會宣布該頒獎儀式改在美國舉行。5月19日,該頒獎儀式在位于紐澤西州Murray Hill區的貝爾實驗室總部舉行。Ritchie和Thompson曾在這個實驗室工作并開發了Unix作業系統,現在該實驗室是法國通信公司Alcatel-Lucent的一部分。Thompson現任谷歌進階工程師,Ritchie仍在貝爾實驗室工作,是“退休研究員中的顯要成員”。除了開發了Unix,Ritchie還發明了C程式設計語言。
IEEE Spectrum資深新聞編輯Samuel K. Moore參加了本次頒獎儀式,并專訪了Ritchie。
IEEE Spectrum:你同時發明了Unix和C,你更喜歡哪一個呢?
Dennis Ritchie:很顯然,C語言帶來了豐厚的利潤,由我和Brian Kernighan合著的《The C Programming Language》一書仍在出版和銷售。Unix正在不斷壯大,同時C語言至今仍在使用。從某種意義上,C語言更多出自我手,它由Ken發明的B語言發展而來,但卻經曆了很大的進化。雖然我曾和很多人談過此語言,但C語言所有的變化都歸根于我。但對于Unix的進化,很多人都做出了貢獻。
IEEE Spectrum:用你的話來說,“C語言既古怪又有缺陷,卻取得了巨大成功”,如果你有機會重新設計的話,它将會有什麼不同?
Dennis Ritchie:需要改很多小地方,但我不想逐一列出了。其中一些在标準化過程中已經改正。但是原設計中也有很多内在的一緻性(注:指不太好改),比如,内部類型系統的運作方式。并不總是那麼易用。例如,Null結尾數組也就是字元串,是一個以Null結尾的字元數組。人們常常抱怨這種設計容易使人犯各種各樣的錯誤,要是改成字元串是個計數然後放字元之類的設計就好了。可事實上,語言的内部基本機制決定了字元串就是數組,沒有地方放計數,即使很容易犯錯。
IEEE Spectrum:Unix不僅延續了下來,還占領了計算機世界。對于Unix的現代化身Linux,你如何看待?
Dennis Ritchie:我認為它很成功。我不再評論它細微的變化。雖然它并沒有通過相同的方法獲得準許,也沒有遵循相同的标準,但我認為從本質來說,Linux是Unix新的實作形式。是以從這個意見上說,它做得很好,并将做得更好,為此我很高興。
IEEE Spectrum:你的網站上有一篇1976年寫的很難懂的備忘錄:“提議對Unix進行可移植性實驗”。它代表了把Unix當作一個更普遍的計算機平台的新思考方式,或許甚至考慮把它當作作業系統,對你來說,它的意義很重要吧?
Dennis Ritchie:當時我們正在移值Unix,我不得不很艱辛地尋找其他任何系統在移值中的參考資料。我發現了一些,但他們卻沒起到任何作用。是以我和Steve Johnson在實作Unix的移植性上做出了特殊的貢獻。Ken對核心做了大量的修改,進而使實作移植性成為可能,但他當時正打算離開,去澳洲公休,是以實際的移植性實作工作都是我和Steve做的。
IEEE Spectrum:到1970年代後期,AT&T已經擁有使網際網路誕生的一切要素。Unix及其所有工具和服務,比如電子郵件,都已經有了,運作CP/M的個人電腦也比較常見。AT&T還有ISDN技術——我們本來可以跳過數據機/窄帶網絡時代的,應該在1985年而不是1985年就出現網際網路(Web)了。你是否覺得錯失了一個大機遇?貝爾實驗室當時有人預見到世界的這一圖景嗎?
Dennis Ritchie: AT&T的思維定勢基本上是以連接配接為中心的。長時間連接配接,就像電話那樣。分組交換對他們沒意義。AT&T在早期網際網路時代有太多機會被視而不見了。
IEEE Spectrum:Unix的最初目的是想作為一個電話交換機的平台,是嗎?
Dennis Ritchie:Ken最初的想法是計劃寫一個作業系統。他開始後,我也很早便加入了。除了做了一些新的、很酷的東西後,真正引導我們的是我們的“自私”——去開發一些可以使我們的生活變得更輕松的工具:“我喜歡用相應工具去做相應的事。對于一件很困難的事,我常思考我可以開發什麼樣的工具,讓它實作起來更簡單呢?”
IEEE Spectrum:後來你都開發了哪些諸如此類的工具呢?
Dennis Ritchie:有很多。比如Brian Kernighan開發的一種小語言。我們都喜歡排版和文檔——這是一種突發奇想,你可以寫一種語言去描述圖檔、線條,然後用它來繪制圖表及有機分子圖。Unix使這一切都很簡單。
IEEE Spectrum:Unix實際應用裡你最喜歡哪個?
Dennis Ritchie:Kindle基于Linux,真酷啊。智能手機之類的也是。真讓人驚喜。
原文連結:http://spectrum.ieee.org/at-work/innovation/inventing-unix