Linux之父 活著的傳奇人生
2017年12月12日 12:02 來源: 作者: 我要評論(0)
今天我們一起來回顧Linux、Git 之父Linus Torvalds傳奇的技術人生,他被稱為是世界上最成功的程序員之一,也被譽為活著的傳奇。低調的生活,它的人生卻成了傳奇。
提起 Linus Torvalds 大家的第一反應是怎樣的?是嚴苛刻薄,還是神級偉大,亦或是孤傲清高?二十五年來,Linus Torvalds 一直堅持在技術第一線,開發了 Linux 和 Git 兩個項目,并深刻影響了軟件行業。如果沒有 Linux,就不會有基于 Linux 的安卓系統,那世界是怎樣的?如果沒有 Git 的誕生,就不會基于 Git 的 GitHub,那么開源的興旺之勢將會遲來多久?
有人問 Linus,你是如何成長為今天的你自己的?Linus Torvalds 說,我本人并不適合回答這個問題,因為這是個漸進不自知的過程;應該請一個不會天天見到他的人以第三方視角,來談談一個不敢直視別人眼睛的十二歲書蟲小男孩怎樣蛻變成今天的樣子的。雖然現在,Linus 已經很大程度上擺脫了社交恐懼癥,面對媒體和觀眾們可以侃侃而談;但是他依然認為自己不擅長于與人打交道。他認為貢獻開源項目通過郵件與人互動,給人緩沖是他更喜歡的交流方式。他不喜歡直面很多人一起工作,而 Linux 和 Git 兩個項目則恰恰是他所喜歡的工作形式體現。Linus 稱開源社區需要有溝通專家,他們溫暖而友善,但遺憾的是他自己并不是這樣的人。
Linus Torvalds 極度熱愛技術,但并不是泛 IT 技術的追隨者,他從來沒有寫過 web 程序、不會設置 FTP 服務器的他有著很聚焦的技術關注點。Linus 的技術興趣很挑剔,“如果我被困在一個孤島上,唯一逃生的機會就是寫出一套漂亮的 UI,那么我死定了。所以人與人是不一樣的,我不是在找借口,我只是在解釋。”
但是,他并不是一根筋的潔癖開源理想者,很早他就思考了商業對開源的作用;他很開心也很感激商業公司和基金會幫他處理所有那些他不愿意處理的事情,并且可以做到完全放權、不管不問。“不同的人有不同的興趣,擅長不同的事情”。
在他眼中,很可能大多數代碼都是平庸的。為什么 25 年一直在做 Linux?“因為寫出優秀的代碼是件很困難的事情。”“Linux 項目中,我會和有的人說‘請不要這樣做,這樣又蠢又笨’,然后他們離開了再以不會靠近我。”他是優秀并嚴格,在工作中難免會傷及他人的自尊心。
不過,在他特別在意的內核項目之外,我想 Linus 應該會更加隨和甚至親切。上個月有幸面對面采訪 Linus,他全程面帶微笑;大會開場的出席訪談也是一如既往地沒有準備 PPT。本文取材自采訪和已有的一些訪談資料,希望可以為讀者們展現一個更為具體、盡量全面客觀的 Linus Torvalds。
2被編程深深地吸引
Linus 大約從十一歲左右開始編程,最初看的是一本匯編語言的書。在祖父的電腦上,Linus 開始使用了 BASIC 語言。
Linus 的妹妹 Sara 記得 Linus 展示的第一段代碼的運行效果,是所有 Basic 語言入門的那段代碼:
Linus 表示他很懷疑這段代碼是否發自真心。他狡黠一笑地說,因為他和他妹妹 Sara 并不是一直都是最好的朋友,可能當時他自己只是想試著友好些,并借此機會向展示 Sara 他的編程能力。
使用 BASIC 語言編程在很多人看來很蠢,Edsger Wybe Dijkstra,Dijkstra 算法發明者曾經表示:
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.
“一個有過 BASIC 編程經歷的人是很難學會好的編程習慣的。作為一個潛在的程序員,他們已經被腦殘并且無法修復。”
Linus 表示最初的編程并不是很認真,但是那真的就是十幾歲的他所能觸碰到了,而且他并不完全知道自己在做什么。即便當時條件有限,即便 Edsger 的斷言有些令人觸目驚心,但是 Linus 依然成長成為了一名卓越的程序員,并且在 1991 年還是在校學的時候就創造了 Linux 的雛形,并從此沒有再離開。
Linus 最喜歡的是在電腦上輸入指令,然后它就會去執行該執行的任務,沒有任何其他多余的動作。Linus 坦白地說有可能是太自閉或邊緣化性格其他問題,但是這樣的爽快干脆的執行感絕對不會在日常生活中出現。
“成為程序員真的不是我的計劃,但是這確實是我的激情所在。”
“你看見代碼的時候立刻就知道這段程序是在做什么”。
“你可以把代碼寫得很漂亮,但是實際上它并不能解決問題。”
3從沒有計劃編寫 Linux,到一切為了 Linux
Linus 曾經公開表示,學生時期的他本來是想購買 PC 操作系統的,但是昂貴價格實在讓人望而卻步,于是只好告訴自己說,“哎好吧,我需要自己寫出來了。”
在 1991 年 9 月發布 Linux 系統之前,Linus 其實自己寫過好多工具。巧的是,如果再晚幾個月, 如果 Linus 知道后來問世的 GNU kernel 或者 386BSD(NetBSD, OpenBSD 和 FreeBSD 的前身),現在大家可能就見不到 Linux 操作系統了。所以說 Linux 系統的誕生確屬是意料之外,確切地說是 Linus 為了解決遇到問題而做的事情。
于是他專門為自己配著 80386 處理器的新電腦寫下了第一版的操作系統代碼,開發工作是在 MINIX 中使用 GNU C 編譯器,并且必須使用硬盤開機。Linux 系統的第一個版本代碼是上傳到 FTP 服務器上的,但是至今 Linus 也不知道怎么配置 FTP,他也從來沒有自建 web 站點。
每個人喜歡做的事情不一樣,對于不喜歡的事情,Linus 一律“偷懶”地尋求外援。有一個有趣的小插曲,最初 Linus 給自己寫的操作系統命名“Freax”,取自自由(“free”)和奇異(“freak”)的結合,末尾附上“X”,是表示其為類 Unix 系統;但是 Linus 委托的 FTP 服務器管理員認為“Freax”這個名字并不好聽,于是把內核更名為 Linux。
本文導航
- 第 1 頁:Linux之父 活著的傳奇人生
- 第 2 頁:Linux之父的傳奇
- 第 3 頁:4GIT的誕生
- 第 4 頁:堅持Linus的原因
- 第 5 頁:其他
用戶評論
查看全部 條評論
查看全部 條評論>>