<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          世界最牛程序員!一個月寫了個操作系統(tǒng),退休后去做飛行員!

          共 4881字,需瀏覽 10分鐘

           ·

          2022-07-26 02:14


          導(dǎo)讀:他是世界上最杰出的程序員,UNIX、Go語言發(fā)明人。


          作者:Mr.K,整理:Emma
          來源:技術(shù)領(lǐng)導(dǎo)力(ID:jishulingdaoli)


          1983 年,美國計算機(jī)協(xié)會將圖靈獎授予肯·湯普森和與丹尼斯·里奇。

          獲獎理由是:

          For their development of generic operating systems theory and specifically for the implementation of the UNIX operating system.

          翻譯過來就是:

          授予肯·湯普森和與丹尼斯·里奇圖靈獎,以表彰其在通用操作系統(tǒng)理論領(lǐng)域的貢獻(xiàn),特別是UNIX操作系統(tǒng)的開發(fā)與實(shí)現(xiàn)。

          本文要介紹的主人公,就是肯·湯普森

          在許多讀者都還沒出生的年代,他就已經(jīng)取得了計算機(jī)界的最高榮譽(yù)——圖靈獎。



          01 計算機(jī)天才養(yǎng)成記

          肯·湯普森出生于1943年。在他小學(xué)的時候,有一堂課講到了二進(jìn)制,喜歡邏輯的他立刻被吸引住了,在興趣的驅(qū)使下,他做了很多相關(guān)的二進(jìn)制計算,并借助一臺十進(jìn)制計算器將其擴(kuò)展到各種進(jìn)制。

          其實(shí),筆者小時候也有類似的經(jīng)歷,我上初中的時候?qū)ξ锢矸浅V裕茉缇烷_始研究,牛頓的頭發(fā)是在哪燙的?我想,我對物理老師,就是從那個時候開始有心理陰影的。

          肯·湯普森,從小就是妥妥的學(xué)霸一枚,邊玩邊學(xué),輕松考上了加州大學(xué)伯克利分校,攻讀電子工程學(xué)士學(xué)位。

          雖然,國外的大學(xué)不像國內(nèi)這么輕松,隨便放飛自我。但是,對于肯·湯普森這樣的大神來說,課程so easy,哪里不會點(diǎn)哪里。

          于是他迷上了一個新玩意:計算機(jī)。

          每天晚上,趁著沒人的時候,他就偷偷溜進(jìn)機(jī)房,自學(xué)了編程,編寫游戲、玩游戲,嗨到不行。

          大四那年,大神心里還是有點(diǎn)B Tree的,因為覺得自己不務(wù)正業(yè),都在玩游戲和編程,電子工程沒怎么好好學(xué),所以沒有申請讀研究生。

          正當(dāng)他準(zhǔn)備卷鋪蓋畢業(yè)的時候。一位教過他的老師Berlekamp教授替他申請了研究生,并且通過了,多好的教授啊!

          回想起筆者大學(xué)時候的教授,我的論文改了八回,答辯兩次才勉強(qiáng)畢業(yè)。同樣都是教授,怎么差別就這么大呢?當(dāng)然了,同樣是學(xué)生,差別就是這么大。

          在研究生階段,肯·湯普森只用了一年就畢業(yè)了,你沒看錯,他只用了一年就拿到了電子工程和計算機(jī)科學(xué)的碩士學(xué)位。


          02 加入貝爾實(shí)驗室

          研究生畢業(yè)后,肯·湯普森的才華驚動了當(dāng)時大名鼎鼎的貝爾實(shí)驗室,并且向他伸出來橄欖枝。但是,肯·湯普森卻看不上,他心想我這么年輕,有才華,又有頭發(fā),應(yīng)該有機(jī)會改變世界的。

          但是,在貝爾實(shí)驗室的再三邀請之下,他還是勉強(qiáng)答應(yīng)去參觀一下。

          這一參觀不要緊啊,他發(fā)現(xiàn)漢明碼發(fā)明人、信息論發(fā)明人、晶體管發(fā)明人......這些牛X閃閃的人物,都出自貝爾實(shí)驗室。

          肯·湯普森心想,像我這樣的天才不就應(yīng)該來這里嗎?于是他接受了貝爾實(shí)驗室的Offer。

          ▲貝爾實(shí)驗室


          03 搞砸 “Multics操作系統(tǒng)”項目

          1966 年,肯·湯普森加入貝爾實(shí)驗室,與丹尼斯·里奇(就是文章開頭,一同獲得圖靈獎的另一位大神)一起參與名為 “Multics操作系統(tǒng)”的項目開發(fā)。

          那個時代的計算機(jī)系統(tǒng)還處在批處理的階段,只能在既慢又笨重的大型機(jī)器上工作,要先將程序卡片裝入設(shè)備,然后等1個小時后才能取運(yùn)算的結(jié)果。不僅慢,還很廢紙。

          因此,貝爾實(shí)驗室聯(lián)合麻省理工學(xué)院,以及通用電氣公司,想建立一套可以多人使用、多任務(wù)、多層次的 Multics 操作系統(tǒng)。

          但是,由于大家太過追求完美,導(dǎo)致開發(fā)周期過長,成本高,短期內(nèi)看不到產(chǎn)出。論敏捷交付的思想的重要性啊,可惜那個年代大家并不那么想。

          1969 年的時候,貝爾實(shí)驗室忍無可忍,決定退出這個項目。


          對于程序員來說,搞砸一個項目是很稀松平常的事情,就像筆者這10幾年的職場生涯搞垮過的項目,都可以寫出“搞垮系列”了。

          但是讓肯·湯普森失望的是,再也不能玩自己寫的名為“star travel”的游戲了,因為這個游戲完全是基于 Multics 的。你看看大神,玩游戲才是主業(yè),上班只是兼職而已。

          04 為了玩游戲,開發(fā)了UNIX

          既然這樣,那就自己開發(fā)個操作系統(tǒng)吧,這樣就可以繼續(xù)玩游戲了。

          有技術(shù)就是任性啊,一言不合就開發(fā)個操作系統(tǒng)。所以千萬不要把程序員逼急了,他們連操作系統(tǒng)都能做,還有什么事情做不出來?

          肯·湯普森找到了一臺廢棄已久的老式 PDP-7小型機(jī),雖然稱為小型機(jī),那時候也有一個房間那么大!在這臺機(jī)器上他首先重寫了游戲,游戲有了后,肯·湯普森還想著要開發(fā)一個全新的操作系統(tǒng)。

          正好這個時候,他的老婆帶著孩子回娘家住3個禮拜,也就是說他有完整的3個禮拜沒有人打擾的時間。

          于是他決定利用這段時間開發(fā)操作系統(tǒng),基于之前搞砸“Multics系統(tǒng)”的經(jīng)驗,他很快完成了內(nèi)核系統(tǒng)、文件系統(tǒng)、編輯器、編譯系統(tǒng),一個月時間竟然編寫完了操作系統(tǒng)的內(nèi)核。

          這個故事告訴我們,一個男人想要搞大事,老婆不在家是多么的重要!筆者這把年紀(jì)一事無成,是有原因的。一天查崗八回,就算你是王者,也榮耀不起來啊?

          話說這個系統(tǒng)做完后,肯·湯普森將其命名為 UNiplexed Information and Computing System,縮寫為 UNICS 。但是怎么念都拗口,后來改名為UNIX,陸續(xù)做了一些改動后,第一版UNIX操作系統(tǒng)誕生了。


          那一年,肯·湯普森年僅26歲。


          05 UNIX 跟C語言更配

          1973 年的 10 月,在 IBM 舉辦的操作系統(tǒng)原理專題研討會上 ,UNIX首次向世界問好,當(dāng)肯·湯普森和與丹尼斯·里奇向人們宣讀論文并展示了UNIX后,整個會場轟動了,人們驚呼:我嘞個去,還能這么玩!

          后來隨著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)時最受歡迎的編程語言,一直延續(xù)至今。


          UNIX經(jīng)典的設(shè)計哲學(xué)KISS,就是在那個時候被提出來的——Keep It Simple, Stupid。


          06 黑客與“后門”

          肯·湯普森還有一個備受爭議的行為,就是在UNIX里留后門。是的,這哥們竟然在代碼里下毒。

          最開始的時候,UNIX系統(tǒng)在貝爾實(shí)驗室是供大家免費(fèi)使用的。有人發(fā)現(xiàn),肯·湯普森總能進(jìn)入每個人的賬戶,于是一位同事就分析UNIX代碼,重新編譯了系統(tǒng)。

          令人意想不到的是,肯·湯普森還是能進(jìn)入他們的賬戶,貝爾實(shí)驗室的科學(xué)家們卻對此束手無策。

          直到1983年,肯·湯普森在他的圖靈獎獲獎感言里揭示了這一秘密,原來,讓他輕松“侵入”各位同事賬戶的秘訣不在UNIX代碼,而在編譯UNIX代碼的C編譯器里,而肯·湯普森正是編譯器的開發(fā)者。這個操作666,你以為看透了大神,可你就是玩不過他。

          那位頭發(fā)比他多,胡子跟他一樣長的自由軟件之父、著名黑客——理查德·斯托爾曼,曾這樣定義過黑客,一名黑客必須包含三個特點(diǎn):好玩、高智商、探索精神,而且三項必須同時滿足。

          黑客追求的不是實(shí)用性技術(shù)或金錢。筆者作為一名技術(shù)從業(yè)者,經(jīng)過多年的努力,我已經(jīng)滿足了黑客精神的其中一點(diǎn):好玩。當(dāng)然了,主要是被別人玩。

          ▲自由軟件之父理查德·斯托爾曼

          或許從這個角度,更能理解肯·湯普森的行為,他并非違背了道德準(zhǔn)則,對他來說這個事就是一逗樂。不難發(fā)現(xiàn),黑客的價值觀跟德云社還挺配的。


          07 加盟Google,參與Golang語言開發(fā)

          2000年,57歲的肯·湯普森在貝爾實(shí)驗室退休。是的,這哥們的整個職場生涯都是在貝爾實(shí)驗室度過的,期間有幾年去了大學(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ī)會再仔細(xì)寫寫。

          Go語言不用多介紹了,有人形容Go語言:Go = C + Python,說明Go語言既有C靜態(tài)語言程序的運(yùn)行速度,又能達(dá)到Python動態(tài)語言的快速開發(fā)。

          國內(nèi)不少科技公司都是Go的擁護(hù)者。比如七牛云的CEO許式偉,就是國內(nèi)較早一批Go的使用者,他還出版了《Go語言編程》一書。


          08 寫最騷的代碼,開最酷的飛機(jī)

          肯·湯普森并沒有像許多技術(shù)大神那樣,走上技術(shù)創(chuàng)業(yè)的道路,成就更大的商業(yè)夢想。

          他在貝爾實(shí)驗室、谷歌,一直從事自己熱愛的開發(fā)工作。

          除了寫程序之外,肯·湯普森是一位狂熱的飛行愛好者,并且還獲得了飛行執(zhí)照。

          閑暇之余,他會跟同事們一起自駕,來一場說走就走的飛行。你不用羨慕大神的生活,其實(shí)你也可以擁有,但首先你得有架飛機(jī)。

          沒有飛機(jī)也不用沮喪,說不定哪天,你用滴滴打飛機(jī),就能叫到他。


          你以為大神光是開私人飛機(jī)就完事了?肯·湯普森就算是愛好也要玩到極致。

          1992年他特意到莫斯科,玩了一把米格29戰(zhàn)斗機(jī)。不想開戰(zhàn)斗機(jī)的飛行員不是好騎手。有錢、有閑、有膽,就這么任性,你有辦法嗎?

          09 結(jié)語

          肯·湯普森,對計算機(jī)軟件業(yè)的發(fā)展,貢獻(xiàn)是巨大的。不僅是UNIX系統(tǒng)發(fā)明人,在他的職業(yè)生涯里還開發(fā)了B程序語言(C語言的前身),UTF-8編碼,ed文本編輯器,以及參與開發(fā)了Go程序語言。

          除了獲得圖靈獎之外,他還先后獲得了多項至高榮譽(yù):

          • 1994年,他獲得了IEEE(電氣和電子工程師協(xié)會)計算機(jī)學(xué)會先鋒獎。
          • 1998年,被授予美國國家科技獎?wù)隆?/span>
          • 1997年,入選計算機(jī)歷史博物館名人錄。
          • ......

          最后,以作家羅蘭的一句名言與你共勉:

          成功的意義應(yīng)該是發(fā)揮了自己的所長,盡了自己的努力之后,所感到的一種無愧于心的收獲之樂,而不是為了虛榮心或金錢。

          參考:
          《UNIX傳奇:歷史與回憶》, (美)布萊恩·W.克尼漢, 譯者:韓磊
          《互聯(lián)網(wǎng)發(fā)展簡史:Ken Thompson世界上最杰出的程序員》,陳童的博客
          《老婆離家三周,我寫了一個操作系統(tǒng)!》,碼農(nóng)翻身,劉欣

          作者簡介:Mr.K,知名電商公司技術(shù)老K級人物。文出過暢銷書,武做過CTO,若非生活所迫,誰愿一身才華。


          延伸閱讀??

          延伸閱讀《C程序設(shè)計語言典藏版套裝
          (套裝共2冊 講義+習(xí)題解答)

          干貨直達(dá)??


          更多精彩??

          在公眾號對話框輸入以下關(guān)鍵詞
          查看更多優(yōu)質(zhì)內(nèi)容!

          讀書 | 書單 | 干貨 | 講明白 | 神操作 | 手把手
          大數(shù)據(jù) | 云計算 | 數(shù)據(jù)庫 | Python | 爬蟲 | 可視化
          AI | 人工智能 | 機(jī)器學(xué)習(xí) | 深度學(xué)習(xí) | NLP
          5G | 中臺 | 用戶畫像 數(shù)學(xué) | 算法 數(shù)字孿生

          據(jù)統(tǒng)計,99%的大咖都關(guān)注了這個公眾號
          ??
          瀏覽 24
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一级黄色a片在线观看 | 日韩和欧美的一区二区 | 天天爽天天日天天射天天舔天天操天天射天天搞 | 国产在线最新地址 | 69成人视频 |