Linux之父 活著的傳奇人生

2017年12月12日 12:02 來源: 作者: 我要評(píng)論(0)

標(biāo)簽:Linux(205936)安卓系統(tǒng)(20151)

  今天我們一起來回顧Linux、Git 之父Linus Torvalds傳奇的技術(shù)人生,他被稱為是世界上最成功的程序員之一,也被譽(yù)為活著的傳奇。低調(diào)的生活,它的人生卻成了傳奇。

  提起 Linus Torvalds 大家的第一反應(yīng)是怎樣的?是嚴(yán)苛刻薄,還是神級(jí)偉大,亦或是孤傲清高?二十五年來,Linus Torvalds 一直堅(jiān)持在技術(shù)第一線,開發(fā)了 Linux 和 Git 兩個(gè)項(xiàng)目,并深刻影響了軟件行業(yè)。如果沒有 Linux,就不會(huì)有基于 Linux 的安卓系統(tǒng),那世界是怎樣的?如果沒有 Git 的誕生,就不會(huì)基于 Git 的 GitHub,那么開源的興旺之勢將會(huì)遲來多久?

  有人問 Linus,你是如何成長為今天的你自己的?Linus Torvalds 說,我本人并不適合回答這個(gè)問題,因?yàn)檫@是個(gè)漸進(jìn)不自知的過程;應(yīng)該請(qǐng)一個(gè)不會(huì)天天見到他的人以第三方視角,來談?wù)勔粋€(gè)不敢直視別人眼睛的十二歲書蟲小男孩怎樣蛻變成今天的樣子的。雖然現(xiàn)在,Linus 已經(jīng)很大程度上擺脫了社交恐懼癥,面對(duì)媒體和觀眾們可以侃侃而談;但是他依然認(rèn)為自己不擅長于與人打交道。他認(rèn)為貢獻(xiàn)開源項(xiàng)目通過郵件與人互動(dòng),給人緩沖是他更喜歡的交流方式。他不喜歡直面很多人一起工作,而 Linux 和 Git 兩個(gè)項(xiàng)目則恰恰是他所喜歡的工作形式體現(xiàn)。Linus 稱開源社區(qū)需要有溝通專家,他們溫暖而友善,但遺憾的是他自己并不是這樣的人。

  Linus Torvalds 極度熱愛技術(shù),但并不是泛 IT 技術(shù)的追隨者,他從來沒有寫過 web 程序、不會(huì)設(shè)置 FTP 服務(wù)器的他有著很聚焦的技術(shù)關(guān)注點(diǎn)。Linus 的技術(shù)興趣很挑剔,“如果我被困在一個(gè)孤島上,唯一逃生的機(jī)會(huì)就是寫出一套漂亮的 UI,那么我死定了。所以人與人是不一樣的,我不是在找借口,我只是在解釋?!?/p>

  但是,他并不是一根筋的潔癖開源理想者,很早他就思考了商業(yè)對(duì)開源的作用;他很開心也很感激商業(yè)公司和基金會(huì)幫他處理所有那些他不愿意處理的事情,并且可以做到完全放權(quán)、不管不問?!安煌娜擞胁煌呐d趣,擅長不同的事情”。

  在他眼中,很可能大多數(shù)代碼都是平庸的。為什么 25 年一直在做 Linux?“因?yàn)閷懗鰞?yōu)秀的代碼是件很困難的事情?!薄癓inux 項(xiàng)目中,我會(huì)和有的人說‘請(qǐng)不要這樣做,這樣又蠢又笨’,然后他們離開了再以不會(huì)靠近我?!彼莾?yōu)秀并嚴(yán)格,在工作中難免會(huì)傷及他人的自尊心。

  不過,在他特別在意的內(nèi)核項(xiàng)目之外,我想 Linus 應(yīng)該會(huì)更加隨和甚至親切。上個(gè)月有幸面對(duì)面采訪 Linus,他全程面帶微笑;大會(huì)開場的出席訪談也是一如既往地沒有準(zhǔn)備 PPT。本文取材自采訪和已有的一些訪談資料,希望可以為讀者們展現(xiàn)一個(gè)更為具體、盡量全面客觀的 Linus Torvalds。

  2被編程深深地吸引

  Linus 大約從十一歲左右開始編程,最初看的是一本匯編語言的書。在祖父的電腦上,Linus 開始使用了 BASIC 語言。

  Linus 的妹妹 Sara 記得 Linus 展示的第一段代碼的運(yùn)行效果,是所有 Basic 語言入門的那段代碼:

  

  Linus 表示他很懷疑這段代碼是否發(fā)自真心。他狡黠一笑地說,因?yàn)樗退妹?Sara 并不是一直都是最好的朋友,可能當(dāng)時(shí)他自己只是想試著友好些,并借此機(jī)會(huì)向展示 Sara 他的編程能力。

  使用 BASIC 語言編程在很多人看來很蠢,Edsger Wybe Dijkstra,Dijkstra 算法發(fā)明者曾經(jīng)表示:

  It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

  “一個(gè)有過 BASIC 編程經(jīng)歷的人是很難學(xué)會(huì)好的編程習(xí)慣的。作為一個(gè)潛在的程序員,他們已經(jīng)被腦殘并且無法修復(fù)?!?/p>

  Linus 表示最初的編程并不是很認(rèn)真,但是那真的就是十幾歲的他所能觸碰到了,而且他并不完全知道自己在做什么。即便當(dāng)時(shí)條件有限,即便 Edsger 的斷言有些令人觸目驚心,但是 Linus 依然成長成為了一名卓越的程序員,并且在 1991 年還是在校學(xué)的時(shí)候就創(chuàng)造了 Linux 的雛形,并從此沒有再離開。

  Linus 最喜歡的是在電腦上輸入指令,然后它就會(huì)去執(zhí)行該執(zhí)行的任務(wù),沒有任何其他多余的動(dòng)作。Linus 坦白地說有可能是太自閉或邊緣化性格其他問題,但是這樣的爽快干脆的執(zhí)行感絕對(duì)不會(huì)在日常生活中出現(xiàn)。

  “成為程序員真的不是我的計(jì)劃,但是這確實(shí)是我的激情所在?!?/p>

  “你看見代碼的時(shí)候立刻就知道這段程序是在做什么”。

  “你可以把代碼寫得很漂亮,但是實(shí)際上它并不能解決問題。”

  3從沒有計(jì)劃編寫 Linux,到一切為了 Linux

  Linus 曾經(jīng)公開表示,學(xué)生時(shí)期的他本來是想購買 PC 操作系統(tǒng)的,但是昂貴價(jià)格實(shí)在讓人望而卻步,于是只好告訴自己說,“哎好吧,我需要自己寫出來了。”

  在 1991 年 9 月發(fā)布 Linux 系統(tǒng)之前,Linus 其實(shí)自己寫過好多工具。巧的是,如果再晚幾個(gè)月, 如果 Linus 知道后來問世的 GNU kernel 或者 386BSD(NetBSD, OpenBSD 和 FreeBSD 的前身),現(xiàn)在大家可能就見不到 Linux 操作系統(tǒng)了。所以說 Linux 系統(tǒng)的誕生確屬是意料之外,確切地說是 Linus 為了解決遇到問題而做的事情。

  于是他專門為自己配著 80386 處理器的新電腦寫下了第一版的操作系統(tǒng)代碼,開發(fā)工作是在 MINIX 中使用 GNU C 編譯器,并且必須使用硬盤開機(jī)。Linux 系統(tǒng)的第一個(gè)版本代碼是上傳到 FTP 服務(wù)器上的,但是至今 Linus 也不知道怎么配置 FTP,他也從來沒有自建 web 站點(diǎn)。

  每個(gè)人喜歡做的事情不一樣,對(duì)于不喜歡的事情,Linus 一律“偷懶”地尋求外援。有一個(gè)有趣的小插曲,最初 Linus 給自己寫的操作系統(tǒng)命名“Freax”,取自自由(“free”)和奇異(“freak”)的結(jié)合,末尾附上“X”,是表示其為類 Unix 系統(tǒng);但是 Linus 委托的 FTP 服務(wù)器管理員認(rèn)為“Freax”這個(gè)名字并不好聽,于是把內(nèi)核更名為 Linux。

12345下一頁全文

本文導(dǎo)航