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日
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日