Linux之父 活著的傳奇人生
2017年12月12日 12:02 來源: 作者: 我要評論(0)
今天我們一起來回顧Linux、Git 之父Linus Torvalds傳奇的技術(shù)人生,他被稱為是世界上最成功的程序員之一,也被譽(yù)為活著的傳奇。低調(diào)的生活,它的人生卻成了傳奇。
提起 Linus Torvalds 大家的第一反應(yīng)是怎樣的?是嚴(yán)苛刻薄,還是神級偉大,亦或是孤傲清高?二十五年來,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)該請一個(gè)不會(huì)天天見到他的人以第三方視角,來談?wù)勔粋€(gè)不敢直視別人眼睛的十二歲書蟲小男孩怎樣蛻變成今天的樣子的。雖然現(xiàn)在,Linus 已經(jīng)很大程度上擺脫了社交恐懼癥,面對媒體和觀眾們可以侃侃而談;但是他依然認(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è)對開源的作用;他很開心也很感激商業(yè)公司和基金會(huì)幫他處理所有那些他不愿意處理的事情,并且可以做到完全放權(quán)、不管不問?!安煌娜擞胁煌呐d趣,擅長不同的事情”。
在他眼中,很可能大多數(shù)代碼都是平庸的。為什么 25 年一直在做 Linux?“因?yàn)閷懗鰞?yōu)秀的代碼是件很困難的事情?!薄癓inux 項(xiàng)目中,我會(huì)和有的人說‘請不要這樣做,這樣又蠢又笨’,然后他們離開了再以不會(huì)靠近我?!彼莾?yōu)秀并嚴(yán)格,在工作中難免會(huì)傷及他人的自尊心。
不過,在他特別在意的內(nèi)核項(xiàng)目之外,我想 Linus 應(yīng)該會(huì)更加隨和甚至親切。上個(gè)月有幸面對面采訪 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í)行感絕對不會(huì)在日常生活中出現(xiàn)。
“成為程序員真的不是我的計(jì)劃,但是這確實(shí)是我的激情所在?!?/p>
“你看見代碼的時(shí)候立刻就知道這段程序是在做什么”。
“你可以把代碼寫得很漂亮,但是實(shí)際上它并不能解決問題。”
3從沒有計(jì)劃編寫 Linux,到一切為了 Linux
Linus 曾經(jīng)公開表示,學(xué)生時(shí)期的他本來是想購買 PC 操作系統(tǒng)的,但是昂貴價(jià)格實(shí)在讓人望而卻步,于是只好告訴自己說,“哎好吧,我需要自己寫出來了?!?/p>
在 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è)人喜歡做的事情不一樣,對于不喜歡的事情,Linus 一律“偷懶”地尋求外援。有一個(gè)有趣的小插曲,最初 Linus 給自己寫的操作系統(tǒng)命名“Freax”,取自自由(“free”)和奇異(“freak”)的結(jié)合,末尾附上“X”,是表示其為類 Unix 系統(tǒng);但是 Linus 委托的 FTP 服務(wù)器管理員認(rèn)為“Freax”這個(gè)名字并不好聽,于是把內(nèi)核更名為 Linux。
本文導(dǎo)航
- 第 1 頁:Linux之父 活著的傳奇人生
- 第 2 頁:Linux之父的傳奇
- 第 3 頁:4GIT的誕生
- 第 4 頁:堅(jiān)持Linus的原因
- 第 5 頁:其他
上周熱點(diǎn)文章排行榜
上周資料下載排行榜
論壇熱帖
- LF開頭請問這個(gè)是什么封裝元器件 jf_77000477
- 【飛凌嵌入式OK3588J-C開發(fā)板體驗(yàn)】OK3588J-C開發(fā)板開箱評測 jf_43382582
- 【書籍評測活動(dòng)NO.52】基于大模型的RAG應(yīng)用開發(fā)與優(yōu)化 ElecFans小喇叭
- 求一份CS32L010的相關(guān)資料(數(shù)據(jù)手冊、用戶手冊、Pack包和例程等),謝謝 jf_43621189
- 請問如何關(guān)閉獨(dú)立看門狗 jf_39582415
- 【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+閱讀濾波器章節(jié)部分筆記 james_87
熱門博文
論壇熱帖
linux技術(shù)應(yīng)用
linux資料下載
- Linux驅(qū)動(dòng)程序程序員指南
- Simplelink CC33xx校準(zhǔn)器工具用戶指南
- Wilink8高級特性
- Wilink8 Linux Wi-Fi驅(qū)動(dòng)程序R8.8版用戶指南
- 適用于AM335x TRF7970A的neard(Linux NFC)構(gòu)建說明
- 用于bq275xx電量計(jì)的WinCE/Linux驅(qū)動(dòng)程序
- DaVinci DVEVM/DVSDK 1.2的解碼演示
- 在DVEVM上通過ddd運(yùn)行Demo
- 在Linux主機(jī)和DVEVM之間使用靜態(tài)IP
- Linux上的編解碼器移植TMS320DM365預(yù)覽版
安卓系統(tǒng)技術(shù)應(yīng)用
安卓系統(tǒng)資料下載
- 安卓系統(tǒng)的源代碼免費(fèi)下載
- 安卓系統(tǒng)使用教程之安卓系統(tǒng)的50個(gè)使用技巧資料免費(fèi)下載
- 安卓系統(tǒng)DIY教程
- Android編程andbook
- 詳述車載安卓系統(tǒng)的設(shè)計(jì)方案和注意事項(xiàng)
- 安卓系統(tǒng)手機(jī)使用妙招
- TTAF 095-2021 安卓系統(tǒng)補(bǔ)充設(shè)備標(biāo)識(shí)技術(shù)規(guī)范
- 安卓系統(tǒng)藍(lán)牙調(diào)試助手工具源代碼下載
- 基于STC15F2K61S2和安卓系統(tǒng)應(yīng)用智能遙控風(fēng)扇中應(yīng)用
- DragonBoard 410c手把手安卓系統(tǒng)控制I2C光流傳感
熱評
- IR將功率半導(dǎo)體觸角伸往消費(fèi)市場
- 多功能算術(shù)/邏輯運(yùn)算單元(ALU) ,什么是多功能
- 動(dòng)態(tài)ip、靜態(tài)ip、pppoe撥號的區(qū)別
- ARM與MIPS的比較
- ThunderBolt端口驅(qū)動(dòng)及NET改WAP方法
- ds18b20中文資料詳解
- 滴滴人臉識(shí)別怎么破解
- 超級計(jì)算機(jī)榜單重新排名 中國天河二號已淪為世界第
- 電阻色環(huán)表_色環(huán)電阻識(shí)別方法
- iphone6概念機(jī)圖片曝光_iphone6上市時(shí)
博文
帖子
- 【書籍評測活動(dòng)NO.51】具身智能機(jī)器人系統(tǒng) | 了解AI的下一個(gè)浪潮! ElecFans小喇叭
- 請教關(guān)于CS1239低側(cè)采樣如何獲得使用更高的Gain? jf_94221193
- 高頻條件下的耦合線圈出現(xiàn)負(fù)值的原因是什么 jf_42363055
- 請問如何關(guān)閉獨(dú)立看門狗 jf_39582415
- ads1291雙電源供電時(shí),Thermal Pad接AVSS嗎? ggfx
- 【米爾-Xilinx XC7A100T FPGA開發(fā)板試用】+03.SFP光口測試(zmj) 卿小小_9e6
- DAC7621的reference性能精度,可以使用外部輸入ref嗎? 萬物死
- 【「HarmonyOS NEXT啟程:零基礎(chǔ)構(gòu)建純血鴻蒙應(yīng)用」閱讀體驗(yàn)】+1-7章有感 夜孤影
- DIY了一臺(tái)無人機(jī),用全志T113芯片 文小二
- 電子產(chǎn)品結(jié)構(gòu)與導(dǎo)熱材料解決方案 jf_86221244
用戶評論
查看全部 條評論
查看全部 條評論>>