Linux之父Linus Torvalds和自由軟件之父Richard Stallman並稱為軟件行業的兩大怪
傑,經常會語出驚人之詞,就像Torvalds那樣,他不喜歡的東西在他看來就一無是處,
不過,誰讓人家是大牛呢?
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日