Linus Torvalds 被認為是最偉大的程式設計師之一,因為他寫出了使用最廣泛的軟體,如 Linux 核心和 Git 版本控制系統。但是他這個人經常因為講話帶有情緒,甚至是因為帶有髒話的意見而飽受非議。有些時候,Linus Torvalds 認為那些工作沒做好,或者持有不同觀點或競爭關係的公司和組織,不管是正面的還是背面的,他的話裡都是帶著火藥味的。
儘管大多數情況下,Torvalds 憤怒的主要原因都是技術惹的禍,跟技術有關。但是,我們還是不要期望已經45歲的 Torvalds 在情緒上能夠緩和多少。好了,基於以上背景,我們來了解一下 Torvalds 多年來對這11項技術有哪些不滿的意見。
1. GNU Emacs
歷史:Emacs 早已經是 Unix 和類 Unix 系統,包括 Linux 最常用的文字編輯器之一。GNU Emacs 是使用最廣泛的 Emacs 實現。它是由 Richard Stallman 建立,並在1985年釋出了第一個版本,之後變為 Stallman 的 GNU 專案之一。儘管 GNU Emacs 很受歡迎,但並不是每個人都喜歡它,表現最明顯的就是 Linus Torvalds。
有趣的是,儘管 Torvalds 多年來毫不間斷的抱怨”真正的 Emacs“(即GNU Emacs),但他的首選編輯器是uEmacs,一個不同的 Emacs 實現,叫做 MicroEmacs 的定製版本。
“無數只猴子在 GNU Emacs 專案上打字,這也註定他們永遠不會成為一個好專案。”1995年
“真正的 Emacs 是魔鬼工具。”2012年
2. GNOME
歷史:GNOME 是一個可以在多數 Linux 發行版獲取的開源桌面環境,它提供了一個圖形化的使用者介面和多種應用。
Linus Torvalds 與 GNOME 的關係在很長一段時間裡都是很微妙的,使用之後再放棄,然後再使用。也經常在如 Xfce 和 KDE 這樣的環境裡相互切換。Torvalds 對 GNOME 的抱怨通常都與難以通過介面解決特定問題和難以定製環境有關。不過 Torvalds 現在再次使用 GNOME 對於 GNOME 基金會來說倒是一個好訊息。
“我覺得 GNOME 有侷限的主要原因就是它自身所擁有的侷限性。”2007年2月16日
“我還沒遇到誰會喜歡邪惡混亂的GNOME-3。”2011年8月
“整個GNOME-3的使用者體驗幾乎完全是失敗的,’在預設配置下,我們連解決問題的最基本的工具都不給你,但你可以通過非官方的擴充套件解決它‘。”2012年6月1日
3. HFS+
歷史:HFS+ 是由蘋果公司開發的一個檔案系統,也被稱為 Mac OS 擴充套件容量硬碟驅動器格式。它最早在 Mac OS 8.1 中實現,現在的 Mac OS X 還在使用 HFS+。
多年來,Linus Torvalds 一再表明他不屑於使用 HFS+,最大的一個大問題就是它不區分大小寫,他覺得這是一個非常差的設計選擇。
“在某些方面 OS X 實際上是不如 Windows 來進行程式設計。他們的檔案系統就是垃圾。“2008年2月
“HFS+真正恐怖的不是它不是一個好的檔案系統,而是人們覺得他們有好的想法並積極設計一個差勁的檔案系統。”2014年12月23日
“坦率地說,HFS+ 可能是世界上最差的檔案系統。“2014年12月22日
4. Java
歷史:Java 首次由 Sun Microsystems 公司於1995年作為專有軟體釋出,是目前使用最流行的程式語言之一。在早期,Linus Torvalds 曾對 Java 寄予厚望和它的“一次編寫,隨處執行”的功能,覺得這可能有力的推動 Linux 作業系統的發展。
然而,Torvalds 覺得 Sun 拙劣的語言設計和 Java 虛擬機器只能應用於桌面環境,所以它註定要失敗。多年後,Java 沒有像他預言那樣,Java 語言已經很繁榮,而且程式碼已經開源,但 Torvalds 似乎仍然沒有對 Java 有很高的評價。
“本質上我看到的只是 Java 引擎在走下坡路,因為它別無去處。”1998年8月
“我不關心Java。多麼可怕的語言。“2011年11月
5. GNU Hurd
歷史:Hurd 是基於 CMU Mach 核心的一個微核心,它作為 GNU 專案的一部分也取代了 Unix 核心。儘管 Hurd 從1990年起已經開發很長一段時間了,但它仍不適合用於生產環境。相反,很諷刺的是,GNU 的其他元件作為 Linux 核心而流行了起來。
Linus Torvalds 說,如果 Hurd 能早點準備好,他可能甚至不會麻煩的把建立 Linux 作為首要任務。此後,Torvalds 不喜歡微核心,所以經常發表對 Hurd 的負面看法。
“我認為Hurd已經死了。它有一個’大版本’,人們忘記了的細節,並且忘記承認他們出的問題。“2004年10月
“Hurd不是一個真正的微核心,它是如此的可憎,以至於所有其他的微核心看上去都很糟糕。”2006年5月15日
“簡而言之:向毒品說不,向Hurd說不。”2001年10月4日
6. C++
歷史:C ++ 是由 Bjarne Stroustrup 創造的,他想建立一個系統程式語言,有 C 的速度和效率,並有類似 Simula 語言一樣的程式組織。Linus Torvalds 發現用 C++ 實現 Linux 核心程式碼並不是最優選擇。
從那時起,他對 C++ 的不給力發表了非常強烈的意見,大致上是說 C++ 是差勁的設計選擇,它只會被次品程式設計師使用。
“事實是,C++編譯器不值得信任。整個C++異常處理從根本上是錯誤的。“2004年1月19日
“儘管 C++ 可以用於原型或簡單的 GUI 程式設計,但它不能使事情更簡單。C 語言雖然並不精益於系統程式語言,但它積極鼓勵你使用簡單和直接的結構。“2007年9月7日
“C ++ 是一個可怕的語言。”2007年9月6日
7. Mach
歷史:Mach 是一個微核心,在1980年代後期在卡內基梅隆大學開發,用於替代 Unix 的 BSD 核心。它後來被用作其他核心的基礎(並不都是微核心),如 GNU Hurd 和蘋果的 Mac OS X。
鑑於 Linus Torvalds 不喜歡微核心,他多年來多次對 Mach 表示不滿就不值得奇怪了。具有諷刺意味的是,Steve Jobs 曾試圖聘請 Torvalds 在 OS X 工作,但是當 Torvalds 被告知這將意味著放棄Linux 發展時拒絕了這份工作,更何況他要在 Mach 的基礎上工作。
“我對 Mach 的個人評價不是很高。坦率地說,它是一堆垃圾。它包含了所有你能製造出來的設計錯誤,甚至有些錯誤是設法彌補自身錯誤而造成的。“2001年
”我認為開發 Mach 的人是不稱職的白痴。“2006年4月20日
8. GCC
歷史:GNU 編譯器集(GCC),1987年首先被用來作為 GNU 作業系統的 C 編譯器。它後來被擴充套件到各種平臺的一些其他語言的編譯前端(C ++,Objective-C,Fortran,Java,Ada 和 GO)。它已經在許多類 Unix 作業系統中占主導地位(和預設值),如 Linux,這意味著 Linus Torvalds 非常熟悉它——不管它是好還是壞。
“老天爺,那個 GCC 4.9.0 編譯器不應該被允許從幼兒園畢業。”2014年7月24日
“GCC是廢話。”2006年11月28日
9. XML
歷史:XML 是 W3C 開發的一種用於編碼文件的標記語言,它作為通用標記語言(SGML)的一個子集,在1998年首次釋出。雖然本來是為了機器和人簡單易讀,但不是每個人都這樣認為。
Linus Torvalds 就是其中之一,這有助於解釋他不喜歡這種格式。
“XML 可能是設計的最糟糕的格式,作為一種檔案格式,它真的沒有擴充套件能力,它通常是一個完全的災難。“2014年3月6日
“XML 是胡扯。解析 XML 對人類來說是討厭的,甚至對計算機來說也是一場災難。沒有理由讓這個可怕垃圾存在。“2014年3月6日
10. Solaris
歷史:Solaris 是基於 Unix System V 建立專有作業系統,由 Sun Microsystems 於1991年首次釋出。Sun 在2005年決定通過 OpenSolaris 專案開源 Solaris 程式碼,Linus Torvalds 對 Linux 的新競爭有幾次公開言論。
對於 Torvalds 和 Linux 幸運的是,2010年後甲骨文收購了 Sun,並終止了 OpenSolaris(雖然它的衍生品還活著),並決定把的 Solaris 再次轉為專有作業系統。
“仍然有很多人喜歡 Solaris,但我與他們積極競爭,所以我希望他們死。”2005年2月
“Solaris/x86 是個笑話” 2004年12月
11. MINIX
歷史:MINIX 是一個類 Unix 作業系統,由 Andrew Tanenbaum 建立並於1987年作為專有軟體釋出,後來開源了。Tanenbaum 是阿姆斯特丹 Vrije Universiteit 大學的教授。
Linus Torvalds 認為 Tanenbaum 有影響力的原因之一,是他對 Unix 感興趣並擺在首位。實際上,Torvalds 在 MINIX 機器上建立的 Linux。
然而,這並沒有阻止 Torvalds 和 Tanenbaum 很多年前就進入的交火戰爭,他們的主要分歧是在Torvalds 決定建立 Linux 作為一個單一的核心,而不是像 MINIX 的微核心。出人意料的是,Torvalds後來對他的意見道歉了。
“你的工作是教授和研究員:這是 Minix 腦殘的很好的藉口”1992年1月29日
“Linux 在幾乎所有領域打的 MINIX 掉褲子。”1992年1月29日