丹尼斯•裏奇對人類的貢獻,被大大低估。此時此刻,全世界幾十億人正在使用的幾百億件電子產品,裏面的軟件最終均可以追溯到他的智力貢獻。html
==========================================linux
保持簡單(Keep it simple)----記念丹尼斯•裏奇(Dennis Ritchie)android
做者:阮一峯ios
1954年,電氣工程師阿利斯泰爾•裏奇(Alistair E. Ritchie),決定舉家從紐約州的布朗克斯維爾(Bronxville),搬到幾十千米之外的新澤西。這樣能夠離他的工做單位"貝爾實驗室"更近一些。git
13歲的丹尼斯•裏奇(Dennis Ritchie),就這樣隨着父親一塊兒來到新澤西。那時,誰也沒有想到,這個文靜的少年將在這裏待上一生,而且創造出改變世界的發明。程序員
中學畢業後,丹尼斯•裏奇遵從父親的建議,進入哈佛大學學習應用數學,直到拿到博士學位。他的第一份工做,是爲軍方研製核武器,這並不符合他的志趣。1967年,經過父親介紹,26歲的他進入貝爾實驗室,從事剛剛興起的計算機研究。今後,他在新澤西老家一住就是44年,直到去世。web
他在貝爾實驗室的第一個任務,是參與大項目Multics,即開發一個史無前例的、能夠多人使用的、同時運行多個程序的操做系統。該項目由貝爾實驗室、麻省理工學院和通用電氣公司三方聯合研製,可是因爲設計過於複雜,遲遲拿不出成果,1969年貝爾實驗室宣佈退出。shell
第一個任務這樣無果而終,丹尼斯•裏奇很不甘,但也無能爲力。誰知過完了夏天,比他小兩歲的同事肯•湯普森(Ken Thompson)找上門,說借鑑Multics的設計思路,作了一個我的項目Unix,問他有沒有興趣一塊兒參與。丹尼斯•裏奇馬上表示贊成,因而兩人一塊兒投入Unix的開發。肯•湯普森的專業是電子工程,丹尼斯•裏奇專業是應用數學,正好互補。通過日以繼夜的工做,1969年聖誕節前,Unix已經能夠初步運行了。數據庫
吸收了Multics設計複雜而致使失敗的教訓,丹尼斯•裏奇將Unix的設計原則定爲"保持簡單和直接"(Keep it simple stupid),也就是後來著名的KISS原則。爲了作到這一點,Unix由許多小程序組成,每一個小程序只能完成一個功能,任何複雜的操做都必須分解成一些基本步驟,由這些小程序逐一完成,再組合起來獲得最終結果。編程
表面上看,這樣的設計很低效:爲了取得結果,你必須運行一連串小程序,那麼爲何不用一個大程序一次運行就獲得結果呢?可是事實證實,因爲小程序之間能夠像積木同樣自由組合,因此很是靈活,可以輕易完成大量意想不到的任務。並且,計算機硬件的升級速度很是快,因此性能也不是一個問題。另外一方面,開發單一目的的小程序,要比開發大型程序容易得多,因此Unix纔有可能在短短几個月內問世。
Unix迅速在程序員中流傳,到了80年代,已經成爲主流操做系統,演變成整個軟件工業的基礎,當代最主要的操做系統----Windows、MacOS和Linux----都與Unix有關。因而可知,丹尼斯•裏奇的"保持簡單"原則,對計算機時代的影響有多大。
丹尼斯•裏奇對世界的貢獻還不止於此。Unix最先是用不通用的機器語言編寫的,若是換一個型號的計算機,就必須從新編寫一遍。爲了提升通用性和開發效率,丹尼斯•裏奇決定發明一種新的計算機語言----C語言。
C語言也貫徹了"保持簡單"的原則,語法很是簡潔,對使用者的限制不多。丹尼斯•裏奇編寫的教材《C編程語言》總共只有100多頁,薄得難以置信。不少人都被它的簡潔性吸引,學習並使用C語言。直到今天,C語言依然是世界上最重要的編程語言之一,"保持簡單"原則顯示了強大的生命力。
發明Unix和C語言,給丹尼斯•裏奇帶來巨大的榮譽,他獲得了1983年的圖靈獎、1990年的漢明獎、1999年的美國國家技術獎章。儘管功成名就,可是就像他的工程設計思想,丹尼斯•裏奇在我的生活上也儘可能"保持簡單"。他依然住在新澤西,低調地生活,不太在媒體上曝光,終身沒有結婚。
他也始終沒有跳槽,一直在貝爾實驗室工做,儘管後者屢次分拆,到了最後已經名不副實。2001年,接手貝爾實驗室的朗訊公司,決定關閉大多數實驗室,許多研究人員紛紛離開,包括Unix發明者之一的肯•湯普森都去了Google,可是丹尼斯•裏奇哪裏也沒去,仍是留了下來。2006年12月1日,貝爾實驗室被總體賣給了法國阿爾卡特公司,第二年他就選擇退休了。
退休之後,他過上了隱居生活,外界幾乎忘了他的存在。2011年10月12日,共事20年的同事Rob Pike從加州到新澤西去拜訪他,才發現他已經去世了。因爲是獨居,沒法知道準確的死亡時間。據他的兄弟透露,這幾年丹尼斯•裏奇的健康情況一直很差,他患有前列腺癌和心臟病。
Rob Pike在Google Plus發了一條簡短的消息,"據我所知,Unix和C語言發明人丹尼斯•裏奇已經去世",外界才知道這件事,引起了記念浪潮。雖然這個過程有點使人傷感,可是必須說,這很符合他的"保持簡單"的原則。