丹尼斯•裡奇日(Dennis Ritchie Day)——讓我們在2011年10月30日追思這位業界先驅by Tim O’Reilly

何逸勤發表於2011-10-27

本文是Tim O'Reilly在2011年10月26日發表的,倡導2011年10月30日為“丹尼斯•裡奇日”。譯自O'Reilly Rader

前一個星期天,即10月16日,由加州州長布朗先生宣佈為“賈伯斯日”。對布朗先生這一表彰賈伯斯的傑出貢獻的舉措,我深表敬佩。然而,當讀到Rob Pike因Dennis Ritchie的離世而發表評論時,我又難以自抑。Pike這樣寫道:

對Dennis Ritchie過早地離世,竟有如此之多的人回應我的Google+訊息,我感到既驚訝又溫暖。他對技術世界影響深遠,我很高興這一點能為人所共知。史蒂夫•賈伯斯逝世時,舉世哀悼,那是他當之無愧的。不過,我們也需要記住,Apple公司能重振聲威,很大程度上要歸功於Dennis在C和Unix方面的工作。

現在大家可能覺得C語言有點老,但實際上它仍然很有生命力,並且有著廣泛的應用。Unix和Linux(包括Mac OS X,甚至還有Windows)的核心都是用C編寫的。Web瀏覽器和主要的Web伺服器都是用C/C++編寫的,整個網際網路系統的其他所有組成部分,幾乎也都是用C或者其衍生語言(C++、Java等)來編寫的,不然就是用C及其衍生語言編寫出來的語言(Python、Ruby等)來編寫的。網路的韌體,通常也是以C語言來實現的。其他的類似情況,多不勝數。

以上談到的僅僅是C語言這一方面。

Dennis還是建立Unix系統的兩個人之一(另外一人是Ken Thompson)。在Google的資料中心和幾乎所有的其他伺服器群的所有機器上,都執行著某個版本的Unix(Linux也是其一)。絕大部分的Web伺服器都是執行在Unix核心上的,絕大部分的非IE核心的Web瀏覽器都是以某種形式執行在Unix核心之上的,手機的領域也不例外。

說到手機,連運營手機網路的軟體,大部分也都用C來編寫的。

這還不是全部。

在1970年代後期,Dennis跟Steve Johnson一起將Unix移植到Interdata。時至今日,我們已經無法想象可移植的作業系統曾經是何等異想天開的構想。當時,作業系統主要是用匯編語言編寫的,而且,無論在技術上還是市場上,都與特定的計算機廠商緊緊地繫結在一起。作為罕有(儘管不是唯一)用“高階語言”編寫的系統,Unix不限定於PDP-11,還能其他的機器上執行。Dennis和Steve抓住了這一時機。到了1980年代的早期,在那時還沒被稱為開源社群的那些人的努力下,Unix已經移植到每一種主流的小型計算機上了。那意味著,如果我用C語言編寫了程式,它就可以在當時的幾乎每一臺計算機上執行。硬體和作業系統那種脣齒相依的關係,就這樣被突然地斬斷了。對我們的產業而言,Unix無疑是巨大的公正力量,將電腦蟲們從硬體廠商的魔爪下解放出來,直接導致了軟體產業的繁榮興盛。

從此,硬體不再主宰一切,因為所有的機器都執行Unix。而正因為硬體失去了主宰地位,所以硬體廠商相互競爭以圖取得主導權,這時候的軟體就是預裝的了。在x86的出現過程,Windows無疑扮演了重要角色,但這一切卻是建立在Unix前輩的成就之上的。低廉的硬體意味著便宜的Unix費用,我們全都因此獲益。1980年代中期的所有網路成果都是基於Unix而取得的,因為那才是能夠完成有價值的技術的環境。如果Unix沒有移植到Interdata,那即便能有網際網路,也不會是今天這個樣子的。

我讀到一篇賈伯斯的訃聞,裡面提到Tim Berners-Lee是在NeXT的機器上完成第一個WWW開發的,那是賈伯斯當時的公司生產的機器。顯而易見,NeXT上面執行的,還是這個作業系統,還是這種程式語言。

對我而言,我可以起誓:沒有Ritchie的工作,也就不會有O’Reilly Media公司。正是Unix為我們的早期出版工作提供了最肥沃的土壤,也正是Unix的協作開發傳統和分享式體系結構為開源軟體運動的演進提供了最深厚的根基。同樣非出偶然的結果,產生了網際網路的大部分架構。這些技術就是我建立公司的基礎。從O’Reilly的書籍或技術會議中獲取知識,從而開發出自己的軟體或創立自己的公司的每一個人,你們的傳承都應該追溯到Ritchie和他的夥伴們。

我並沒有布朗州長那樣的號召力,然而,我要在此對屬於我們這個世界的人們鄭重宣佈:這個星期天,即10月30日,將是“丹尼斯•裡奇日”(Dennis Ritchie Day)!讓我們銘記這位業界先驅的不朽貢獻。

又及,請大家傳播這一訊息,在Twitter和Google+上加入#DennisRitchieDay的標籤。

譯者按:同意Tim O’Reilly這一倡議的,請在10月30日這一天,在自己的微博加入#DennisRitchieDay#標籤。


相關閱讀

相關文章