向C語言之父—丹尼斯·裡致敬


丹尼斯·裡奇被譽為“C語言之父”,“UNIX操作系統之父”。曾擔任朗訊科技公司貝爾實驗室下屬的計算機科學研究中心繫統軟件研究部的主任一職。1978年與布萊恩·科爾尼幹(Brian W. Kernighan)一起出版了名著《C程序設計語言(The C Programming Language)》,現在此書已翻譯成多種語言,成為C語言方面最權威的教材之一。

向C語言之父—丹尼斯·裡致敬

“在互聯網上,幾乎所有東西都會使用C語言和Unix操作系統。”派克在接受《連線》雜誌採訪時說道。“瀏覽器是用C語言寫成的;Unix內核是用C語言寫成的;網絡服務器是用C語言寫成的,否則就是用衍生自C語言的Java或C++語言寫成的,要麼就是Python或Ruby語言,而這兩種語言都是在C語言中執行的。此外,我幾乎可以擔保,所有運行這些程序的網絡硬件也都是用C語言寫成的。”

“現代信息經濟在極大程度上是在裡奇生前所做工作的基礎上建立起來的,對此無論用多麼誇張的言辭來形容都不為過。”派克說道。

他還補充道,就連微軟Windows操作系統也曾是用C語言來編程的;而且,Unix還為蘋果的桌面操作系統Mac OS X和移動操作系統iOS提供了支持。“喬布斯可以說是‘有形之王’,而裡奇則基本上應該算是‘無形之王’。”麻省理工學院電子工程大學和計算機科學教授、計算機科學及人工智能實驗室(Computer Science and Artificial Intelligence Laboratory)成員馬丁·里納德(Martin Rinard)說道。

“喬布斯的天才之處在於,他能造出這些令人們深深喜愛的產品,這是因為他很有品味,能作出讓人們歎服不已的東西。而裡奇造出的東西能讓那些技術人士用來構建核心的基礎設施,這些基礎設施在建成以後不一定會讓人們再看得到,但卻每天都用得到。”

向C語言之父—丹尼斯·裡致敬

正所謂“吃水不忘挖井人”,在互聯網發展的今天,讓我們一起來了解這位偉人:

Dennis Ritchie 丹尼斯·裡奇

他在貝爾實驗室的第一個任務,是參與大項目Multics,即開發一個前所未有的、可以多人使用的、同時運行多個程序的操作系統。該項目由貝爾實驗室、麻省理工學院和通用電氣公司三方聯合研製,但是由於設計過於複雜,遲遲拿不出成果,1969年貝爾實驗室宣佈退出。

第一個任務這樣無果而終,丹尼斯·裡奇很不甘,但也無能為力。誰知過完了夏天,比他小兩歲的同事肯·湯普森(Ken Thompson)找上門,說借鑑Multics的設計思路,做了一個個人項目Unix,問他有沒有興趣一起參與。丹尼斯·裡奇立刻表示同意,於是兩人一起投入Unix的開發。肯·湯普森的專業是電子工程,丹尼斯·裡奇專業是應用數學,正好互補。經過日以繼夜的工作,1969年聖誕節前,Unix已經可以初步運行了。

向C語言之父—丹尼斯·裡致敬

吸取了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年的美國國家技術獎章。儘管功成名就,但是就像他的工程設計思想,丹尼斯·裡奇在個人生活上也儘量”保持簡單”。他依然住在新澤西,低調地生活,不太在媒體上曝光,終身沒有結婚。

向C語言之父—丹尼斯·裡致敬

他也始終沒有跳槽,一直在貝爾實驗室工作,儘管後者多次分拆,到了最後已經名存實亡。2001年,接手貝爾實驗室的朗訊公司,決定關閉大多數實驗室,許多研究人員紛紛離開,包括Unix發明者之一的肯·湯普森都去了Google,但是丹尼斯·裡奇哪裡也沒去,還是留了下來。2006年12月1日,貝爾實驗室被整體賣給了法國阿爾卡特公司,第二年他就選擇了退休。

退休以後,他過上了隱居生活,外界幾乎忘了他的存在。2011年10月12日,共事20年的同事Rob Pike從加州到新澤西去拜訪他,才發現他已經去世了。由於是獨居,無法知道準確的死亡時間。據他的兄弟透露,這幾年丹尼斯·裡奇的健康狀況一直不好,他患有前列腺癌和心臟病。

Rob Pike在Google Plus發了一條簡短的消息,”據我所知,Unix和C語言發明人丹尼斯·裡奇已經去世”,外界才知道這件事,引發了紀念浪潮。

而今天,我們是站在巨人的肩上,但,請不要忘記時代的先驅—丹尼斯·裡奇(Dennis Ritchie)。

為了幫助小夥伴們更好的學習Python,技術學派整理了Python的相關學習視頻及學習路線圖。

領取方式

關注“小編”後,評論轉發文章,私信回覆:Python學習


分享到:


相關文章: