Ken Thompson

美國計算機科學學者

肯·湯普森(Kenneth Lane Thompson,1943年2月4日-),一般稱之為Ken Thompson,為美國計算機科學學者,與丹尼斯·里奇同為1983年圖靈獎得主。

人物生平


1943年湯普遜出生於美國新奧爾良。1960年就讀加州大學伯克利分校主修電氣工程,取得了電子工程碩士的學位。1966年加入了貝爾實驗室。湯普森參與了貝爾實驗室與麻省理工學院以及通用電氣公司聯合開發的一套多用戶分時操作系統,名叫Multics,同時他自己寫了一個“star travel”遊戲可運行於Multics之上。貝爾實驗室後來撤出Multics計劃。湯普遜只好找到一台老式PDP-7機器,重寫了他的“star travel”遊戲。
在開發Multics的期間,湯普森創造出了名為Bon的程式語言。湯普森花了一個月的時間開發了全新的操作系統,UNiplexed Information and Computing System(UNICS),可執行於PDP-7機器之上,後來改稱為UNIX。第一版的Unix就是基於B語言來開發的。Bon語言在進行系統編程時不夠強大,所以Thompson和Ritchie對其進行了改造,並於1971年共同發明了C語言。1973年Thompson和Ritchie用C語言重寫了UNIX。安裝於PDP-11的機器之上。
1983年,美國計算機協會將杜林獎(圖靈獎)授予湯普遜與丹尼斯
2000年12月時,湯普森退休,離開貝爾實驗室,成為了一名飛行員。
2006年,湯普森進入google工作與羅勃特·派克,羅伯特·格瑞史莫共同主導了Go語言的開發。

主要貢獻


Ken Thompson,C語言前身B語言的作者,Unix的發明人之一(另一個是Dennis M. Riche,被尊為DMR),Belle(一個厲害的國際象棋程序)的作者之一,操作系統Plan 9的主要作者(另一個是Rob Pike, 前不久被google挖走了)。Ken爺爺也算是計算機歷史上開天闢地的人物了。1969年還是計算機史前時代,普通人都認為只有大型機才能運行通用的操作系統,小型機只有高山仰止的份兒。至於用高級語言來寫操作系統,更是笑談。Ken爺爺自然不是池中物,於是他和DMR怒了,在1969年到1970間用彙編在PDP-7上寫出了UNIX的第一個版本。他們並不知道,一場轟轟烈烈的UNIX傳奇由此拉開了序幕。Ken爺爺在1971年又把Unix用C重寫,於是C在隨後20年成就了不知多少豪傑的夢想和光榮。Ken爺爺還有段佳話:裝了UNIX的PDP-11最早被安裝在Bell Lab里供大家日常使用。很快大家就發現Ken爺爺總能進入他們的帳戶,獲得最高許可權。Bell Lab里的科學家都心比天高,當然被搞得鬱悶無比。於是有高手怒了,跳出來分析了UNIX代碼,找到後門,修改代碼,然後重新編譯了整個UNIX。就在大家都以為“這個世界清凈了”的時候,他們發現Ken爺爺還是輕而易舉地拿到他們的帳戶許可權,百思不解后,只好繼續鬱悶。誰知道這一鬱悶,就鬱悶了14年,直到Ken爺爺獲得圖靈獎之後,發表自己獲獎感言時道出個其中緣由。原來,代碼里的確有後門,但後門不在Unix代碼里,而在編譯Unix代碼的C編譯器里。