1983 年,美國計(jì)算機(jī)協(xié)會(huì)將圖靈獎(jiǎng)授予肯·湯普森和與丹尼斯·里奇。
獲獎(jiǎng)理由是:“For their development of generic operating systems theory and specifically for the implementation of the UNIX operating system.”
翻譯過來就是:
“授予肯·湯普森和與丹尼斯·里奇圖靈獎(jiǎng),以表彰其在通用操作系統(tǒng)理論領(lǐng)域的貢獻(xiàn),特別是UNIX操作系統(tǒng)的開發(fā)與實(shí)現(xiàn)。”
老讀者知道,老K每次裝逼都會(huì)引用一段英文,不過這次不是要顯擺自己,而是要介紹本文的主人公,肯·湯普森。
在許多讀者都還沒出生的年代,他就已經(jīng)取得了計(jì)算機(jī)界的最高榮譽(yù)--圖靈獎(jiǎng)。
01
計(jì)算機(jī)天才養(yǎng)成記
肯·湯普森出生于1943年。在他小學(xué)的時(shí)候,有一堂課講到了二進(jìn)制,喜歡邏輯的他立刻被吸引住了,在興趣的驅(qū)使下,他做了很多相關(guān)的二進(jìn)制計(jì)算,并借助一臺(tái)十進(jìn)制計(jì)算器將其擴(kuò)展到各種進(jìn)制。
其實(shí),老K小時(shí)候也有類似的經(jīng)歷,我上初中的時(shí)候?qū)ξ锢矸浅V?,很早就開始研究,牛頓的頭發(fā)是在哪燙的?我想,我的物理老師,就是從那個(gè)時(shí)候開始有心理陰影的。
肯·湯普森,從小就是妥妥的學(xué)霸一枚,邊玩邊學(xué),輕松考上了加州大學(xué)伯克利分校,攻讀電子工程學(xué)士學(xué)位。
雖然,國外的大學(xué)不像國內(nèi)這么輕松,隨便放飛自我。但是,對于肯·湯普森這樣的大神來說,課程so easy,哪里不會(huì)點(diǎn)哪里。
于是他迷上了一個(gè)新玩意:計(jì)算機(jī)。
每天晚上,趁著沒人的時(shí)候,他就偷偷溜進(jìn)機(jī)房,自學(xué)了編程,編寫游戲、玩游戲,嗨到不行。
大四那年,大神心里還是有點(diǎn)B Tree的,因?yàn)橛X得自己不務(wù)正業(yè),都在玩游戲和編程,電子工程沒怎么好好學(xué),所以沒有申請讀研究生。
正當(dāng)他準(zhǔn)備卷鋪蓋畢業(yè)的時(shí)候。一位教過他的老師Berlekamp教授替他申請了研究生,并且通過了,多好的教授?。?/p>
回想起老K大學(xué)時(shí)候的教授,我的論文改了八回,答辯兩次才勉強(qiáng)畢業(yè)。同樣都是教授,怎么差別就這么大呢?當(dāng)然了,同樣是學(xué)生,差別就是這么大。
在研究生階段,肯·湯普森只用了一年就畢業(yè)了,你沒看錯(cuò),他只用了一年就拿到了電子工程和計(jì)算機(jī)科學(xué)的碩士學(xué)位。
02
加入貝爾實(shí)驗(yàn)室
研究生畢業(yè)后,肯·湯普森的才華驚動(dòng)了當(dāng)時(shí)大名鼎鼎的貝爾實(shí)驗(yàn)室,并且向他伸出來橄欖枝。但是,肯·湯普森卻看不上,他心想我這么年輕,有才華,又有頭發(fā),應(yīng)該有機(jī)會(huì)改變世界的。
但是,在貝爾實(shí)驗(yàn)室的再三邀請之下,他還是勉強(qiáng)答應(yīng)去參觀一下。
這一參觀不要緊啊,他發(fā)現(xiàn)漢明碼發(fā)明人、信息論發(fā)明人、晶體管發(fā)明人......這些牛逼閃閃的人物,都出自貝爾實(shí)驗(yàn)室。
肯·湯普森心想,像我這樣的天才不就應(yīng)該來這里嗎?于是他接受了貝爾實(shí)驗(yàn)室的Offer。
03
搞砸“Multics操作系統(tǒng)”項(xiàng)目
1966 年,肯·湯普森加入貝爾實(shí)驗(yàn)室,與丹尼斯·里奇(就是文章開頭,一同獲得圖靈獎(jiǎng)的另一位大神)一起參與名為 “Multics操作系統(tǒng)”的項(xiàng)目開發(fā)。
那個(gè)時(shí)代的計(jì)算機(jī)系統(tǒng)還處在批處理的階段,只能在既慢又笨重的大型機(jī)器上工作,要先將程序卡片裝入設(shè)備,然后等1個(gè)小時(shí)后才能取運(yùn)算的結(jié)果。不僅慢,還很廢紙。
因此,貝爾實(shí)驗(yàn)室聯(lián)合麻省理工學(xué)院,以及通用電氣公司,想建立一套可以多人使用、多任務(wù)、多層次的 Multics 操作系統(tǒng)。
但是,由于大家太過追求完美,導(dǎo)致開發(fā)周期過長,成本高,短期內(nèi)看不到產(chǎn)出。論敏捷交付的思想的重要性啊,可惜那個(gè)年代大家并不那么想。
1969 年的時(shí)候,貝爾實(shí)驗(yàn)室忍無可忍,決定退出這個(gè)項(xiàng)目。
對于程序員來說,搞砸一個(gè)項(xiàng)目是很稀松平常的事情,就像老K這10幾年的職場生涯搞垮過的項(xiàng)目,都可以寫出“搞垮系列”了。
但是讓肯·湯普森失望的是,再也不能玩自己寫的名為“star travel”的游戲了,因?yàn)檫@個(gè)游戲完全是基于 Multics 的。你看看大神,玩游戲才是主業(yè),上班只是兼職而已。
04
為了玩游戲,開發(fā)了UNIX
既然這樣,那就自己開發(fā)個(gè)操作系統(tǒng)吧,這樣就可以繼續(xù)玩游戲了。
有技術(shù)就是任性啊,一言不合就開發(fā)個(gè)操作系統(tǒng)。所以千萬不要把程序員逼急了,他們連操作系統(tǒng)都能做,還有什么事情做不出來?
肯·湯普森找到了一臺(tái)廢棄已久的老式 PDP-7小型機(jī),雖然稱為小型機(jī),那時(shí)候也有一個(gè)房間那么大!在這臺(tái)機(jī)器上他首先重寫了游戲,游戲有了后,肯·湯普森還想著要開發(fā)一個(gè)全新的操作系統(tǒng)。
正好這個(gè)時(shí)候,他的老婆帶著孩子回娘家住3個(gè)禮拜,也就是說他有完整的3個(gè)禮拜沒有人打擾的時(shí)間。
于是他決定利用這段時(shí)間開發(fā)操作系統(tǒng),基于之前搞砸“Multics系統(tǒng)”的經(jīng)驗(yàn),他很快完成了內(nèi)核系統(tǒng)、文件系統(tǒng)、編輯器、編譯系統(tǒng),一個(gè)月時(shí)間竟然編寫完了操作系統(tǒng)的內(nèi)核。
這個(gè)故事告訴我們,一個(gè)男人想要搞大事,老婆不在家是多么的重要!K嫂你看到了嗎?看到了嗎?老K這把年紀(jì)一事無成,是有原因的。一天查崗八回,就算你是王者,也榮耀不起來???
話說這個(gè)系統(tǒng)做完后,肯·湯普森將其命名為 UNiplexed Information and Computing System,縮寫為 UNICS 。但是怎么念都拗口,后來改名為UNIX,陸續(xù)做了一些改動(dòng)后,第一版UNIX操作系統(tǒng)誕生了。
那一年,肯·湯普森年僅26歲。
05
UNIX 跟C語言更配
1973 年的 10 月,在 IBM 舉辦的操作系統(tǒng)原理專題研討會(huì)上 ,UNIX首次向世界問好,當(dāng)肯·湯普森和與丹尼斯·里奇向人們宣讀論文并展示了UNIX后,整個(gè)會(huì)場轟動(dòng)了,人們驚呼:臥槽,牛逼,還能這么玩!
后來隨著UNIX的用戶越來越多,肯·湯普森和與丹尼斯·里奇決定將UNIX進(jìn)一步改寫,以便可以移植到各種不同的硬件系統(tǒng)。
由于UNIX的源碼中不少是用匯編完成,不具備良好的移植性,正好丹尼斯·里奇在 1973 年在 B 語言的基礎(chǔ)上開發(fā)出了 C 語言。C 語言靈活,也更高效,與硬件無關(guān),并且不失其簡潔性,正是UNIX移植所需要的法寶。
于是舊版的UNIX與 C 語言完美結(jié)合在一起,產(chǎn)生了新的可移植的UNIX系統(tǒng)。隨著UNIX的廣泛使用,C 語言也成為了當(dāng)時(shí)最受歡迎的編程語言,一直延續(xù)至今。
UNIX經(jīng)典的設(shè)計(jì)哲學(xué)KISS,就是在那個(gè)時(shí)候被提出來的——Keep It Simple, Stupid。
06
黑客與“后門”
肯·湯普森還有一個(gè)備受爭議的行為,就是在UNIX里留后門。是的,這哥們竟然在代碼里下毒。
最開始的時(shí)候,UNIX系統(tǒng)在貝爾實(shí)驗(yàn)室是供大家免費(fèi)使用的。有人發(fā)現(xiàn),肯·湯普森總能進(jìn)入每個(gè)人的賬戶,于是一位同事就分析UNIX代碼,重新編譯了系統(tǒng)。
令人意想不到的是,肯·湯普森還是能進(jìn)入他們的賬戶,貝爾實(shí)驗(yàn)室的科學(xué)家們卻對此束手無策。
直到1983年,肯·湯普森在他的圖靈獎(jiǎng)獲獎(jiǎng)感言里揭示了這一秘密,原來,讓他輕松“侵入”各位同事賬戶的秘訣不在UNIX代碼,而在編譯UNIX代碼的C編譯器里,而肯·湯普森正是編譯器的開發(fā)者。這個(gè)操作666,你以為看透了大神,可你就是玩不過他。
那位頭發(fā)比他多,胡子跟他一樣長的自由軟件之父、著名黑客--理查德·斯托爾曼,曾這樣定義過黑客,一名黑客必須包含三個(gè)特點(diǎn):好玩、高智商、探索精神,而且三項(xiàng)必須同時(shí)滿足。
黑客追求的不是實(shí)用性技術(shù)或金錢。老K作為一名技術(shù)從業(yè)者,經(jīng)過多年的努力,我已經(jīng)滿足了黑客精神的其中一點(diǎn):好玩。當(dāng)然了,主要是被別人玩。
自由軟件之父 理查德·斯托爾曼
或許從這個(gè)角度,更能理解肯·湯普森的行為,他并非違背了道德準(zhǔn)則,對他來說這個(gè)事就是一逗樂。不難發(fā)現(xiàn),黑客的價(jià)值觀跟德云社還挺配的。
07
加盟Google,參與Golang語言開發(fā)
2000年,57歲的肯·湯普森在貝爾實(shí)驗(yàn)室退休。是的,這哥們的整個(gè)職場生涯都是在貝爾實(shí)驗(yàn)室度過的,期間有幾年去了大學(xué)教UNIX系統(tǒng)課程。
然而,退休后這位老爺子也閑不住。
2006 年,肯·湯普森加入了 Google 公司。看看吧,誰說程序員做到35歲以后就找不到工作?關(guān)鍵還是技術(shù)過硬,別做了10幾年技術(shù)還是寫CRUD。玩技術(shù)的要么越鉆越底層,要么就高屋建瓴搞架構(gòu),千萬別原地踏步。
加入谷歌后,肯·湯普森又搞了一件大事。
他跟其它優(yōu)秀的科學(xué)家一起開發(fā)了Go語言,也就是Golang。主要開發(fā)者有:肯.湯姆遜(Ken Thompson)、羅布.派克(Rob Pike)和羅伯特.格里澤默(Robert Griesemer)。另外兩位也是大神,有機(jī)會(huì)再仔細(xì)寫寫。
Go語言不用多介紹了,有人形容Go語言:Go = C + Python , 說明Go語言既有C靜態(tài)語言程序的運(yùn)行速度,又能達(dá)到Python動(dòng)態(tài)語言的快速開發(fā)。
國內(nèi)不少科技公司都是Go的擁護(hù)者。比如七牛云的CEO許式偉,就是國內(nèi)較早一批Go的使用者,他還出版了《Go語言編程》一書。
08
寫最騷的代碼,開最酷的飛機(jī)
肯·湯普森并沒有像許多技術(shù)大神那樣,走上技術(shù)創(chuàng)業(yè)的道路,成就更大的商業(yè)夢想。
他在貝爾實(shí)驗(yàn)室、谷歌,一直從事自己熱愛的開發(fā)工作。
除了寫程序之外,肯·湯普森是一位狂熱的飛行愛好者,并且還獲得了飛行執(zhí)照。
閑暇之余,他會(huì)跟同事們一起自駕,來一場說走就走的飛行。你不用羨慕大神的生活,其實(shí)你也可以擁有,但首先你得有架飛機(jī)。
沒有飛機(jī)也不用沮喪,說不定哪天,你用滴滴打飛機(jī),就能叫到他。
你以為大神光是開私人飛機(jī)就完事了?肯·湯普森就算是愛好也要玩到極致。
1992年他特意到莫斯科,玩了一把米格29戰(zhàn)斗機(jī)。不想開戰(zhàn)斗機(jī)的飛行員不是好騎手。有錢、有閑、有膽,就這么任性,你有辦法嗎?
09
結(jié)語
肯·湯普森,對計(jì)算機(jī)軟件業(yè)的發(fā)展,貢獻(xiàn)是巨大的。不僅是UNIX系統(tǒng)發(fā)明人,在他的職業(yè)生涯里還開發(fā)了B程序語言(C語言的前身),UTF-8編碼,ed文本編輯器,以及參與開發(fā)了Go程序語言。
除了獲得圖靈獎(jiǎng)之外,他還先后獲得了多項(xiàng)至高榮譽(yù):
1994年,他獲得了IEEE(電氣和電子工程師協(xié)會(huì))計(jì)算機(jī)學(xué)會(huì)先鋒獎(jiǎng)。
1998年,被授予美國國家科技獎(jiǎng)?wù)隆?/p>
1997年,入選計(jì)算機(jī)歷史博物館名人錄。
......
最后,以作家羅蘭的一句名言與你共勉:“成功的意義應(yīng)該是發(fā)揮了自己的所長,盡了自己的努力之后,所感到的一種無愧于心的收獲之樂,而不是為了虛榮心或金錢?!?/p>
原文標(biāo)題:他是世界上最杰出程序員之一,1 個(gè)月寫了個(gè)操作系統(tǒng),退休后去做飛行員!
文章出處:【微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7488瀏覽量
87849 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6801瀏覽量
123283 -
代碼
+關(guān)注
關(guān)注
30文章
4779瀏覽量
68521
原文標(biāo)題:他是世界上最杰出程序員之一,1 個(gè)月寫了個(gè)操作系統(tǒng),退休后去做飛行員!
文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論