GNU Emacs
历史:Emacs长期以来一直是 Unix 和类 Unix 系统(包括 Linux)上最流行的文本编辑器之一。GNU Emacs是使用最广泛的 Emacs 实现,由 Richard Stallman 创建,并于 1985 年作为 Stallman 的 GNU 项目的第一款软件发布。然而,尽管它很受欢迎,但并不是每个人都喜欢它,尤其是 Linus Torvalds。有趣的是,虽然 Torvalds 多年来经常抨击“真正的 emacs”(即 GNU Emacs),但 他更喜欢的编辑器是uEmacs,这是一个名为MicroEmacs的不同 Emacs 实现的定制版本。
引用:“......无数的猴子输入 GNU emacs 永远不会成为一个好的程序。”
“... [Emacs 是] 最糟糕的绝对狗屎!
“……真正的 emacs……是魔鬼的工具”
GNOME
历史:GNOME 是一个开源桌面环境,可用于许多 Linux 发行版,提供图形用户界面和众多应用程序。
Linus Torvalds 与 GNOME 有着长期的、断断续续的关系,经常在使用它和放弃它以支持其他环境如 Xfce 和 KDE 之间切换。他对 GNOME 的抱怨通常与修复界面问题和定制环境的困难有关。
对 GNOME 基金会来说,好消息是Torvalds 再次使用 GNOME。
“我还没有遇到任何喜欢 gnome-3 的邪恶混乱的人。” [
“……‘默认情况下,我们甚至不提供最基本的工具来修复问题,但您可以使用非官方扩展来解决问题’的整个 gnome3 方法似乎完全是 UX 失败。”
“GNOME似乎是由界面纳粹开发的……”
HFS+
历史:HFS+ 是 Apple 开发的文件系统,也称为 Mac OS 扩展卷硬盘格式。HFS+ 被 Mac OS X 操作系统使用,尽管它最初是[在 Mac OS 8.1 中实现的。
多年来,Linus Torvalds 一再表达他对 HFS+ 的蔑视。他的一个大问题是它不区分大小写,他认为这是一个非常糟糕的设计选择。
引用:“... OS X 在某些方面实际上比 Windows 更糟糕。他们的文件系统是完整的,完全是垃圾,这太可怕了。”
“HFS+ 的真正可怕之处不在于它不是一个伟大的文件系统,而在于它如何被那些认为自己有好主意的人积极设计成一个糟糕的文件系统。”
“坦率地说,HFS+ 可能是有史以来最糟糕的文件系统。天哪,这是什么鬼东西。”
Java
历史:Java 于 1995 年由 Sun Microsystems 首次作为专有软件发布,是当今最流行的编程语言之一。
早期,Linus Torvalds 对 Java及其“一次编写,随处运行”的特性寄予厚望,认为它可以为 Linux 带来巨大的推动。然而,Torvalds 认为Sun将语言和 Java 虚拟机的实现搞砸了,这使得它无法在桌面上被采用,并注定了它的失败。多年后,尽管 Java 违背了他的预测并蓬勃发展,即使代码已经开源,Torvalds 似乎仍然没有太看重它。
引用:“从本质上讲,我看到 Java 引擎只是在下滑,没有任何进展。”
“Java 已经失去了它的大部分潜力,部分原因是 Sun Microsystems 处理它的方式。”
“Java,我不在乎。多么可怕的语言。”
GNU Hurd
历史: Hurd 是作为 GNU 项目的一部分创建的微内核,旨在替换 Unix 内核,基于CMU 的 Mach 内核。尽管 Hurd 已经开发了很长时间,工作已经在 1990 年开始,但它仍然没有准备好用于生产环境。具有讽刺意味的是,Linux 内核在与 GNU 的其他组件一起使用时变得流行起来。
Linus Torvalds 说,如果 Hurd 早些准备好,他甚至可能一开始就不会打扰创建 。不过,从那以后,Torvalds 经常分享他对 Hurd 的负面看法,其中许多是基于他对微内核的不喜欢。
引述:“我认为 Hurd 已经死了。......它有一个‘大愿景’,人们忘记了细节,忘记了在出错时承认。”
“……Hurd 并不是一个真正的微内核,它是一种让所有其他微内核看起来都很糟糕的可憎之处。”
“简而言之:对毒品说不,也许你最终不会像 Hurd 一样。”
C++
历史:C++ 是由 Bjarne Stroustrup 创建的,他想创建一种系统编程语言,它具有 C 的速度和效率,但具有Simula 的一些程序组织功能。
虽然创建 C++ 的部分想法是用于操作系统内核,但 Linus Torvalds 在尝试使用它编写 Linux 内核代码时发现它并不是最佳的。
从那时起,他通过分享他对 C++ 有多糟糕的强烈看法引起了轰动,一般来说,它会导致“糟糕的设计选择”并且只被“不合格”的程序员使用。
引用:“事实是,C++ 编译器并不值得信赖。……整个 C++ 异常处理从根本上被打破了。”
“C++ 处于一个不方便的地方,它无法使事情变得足够简单,无法真正用于原型设计或简单的 GUI 编程,但 C++ 并不是那种积极鼓励您使用简单直接的精益系统编程语言结构体。”
“C++ 是一种可怕的语言。”
Mach
历史:Mach 是一个微内核,最初是在 CMU 开发的,作为 1980 年代后期 Unix 的 BSD 内核的替代品。后来它被用作其他内核(并非所有内核都是微内核)的基础,例如 GNU Hurd 和[Apple 的 Mac OS X。
鉴于 Linus Torvalds 不喜欢微内核,多年来他多次表达对 Mach 的不满也就不足为奇了。具有讽刺意味的是,史蒂夫·乔布斯曾试图聘请 Torvalds 在 OS X 上工作,但当 Torvalds 被告知这意味着必须放弃 Linux 开发时被拒绝,更不用说必须在一个植根于 Mach 的操作系统上工作了。
语录:“我个人对 Mach 的评价不是很高。坦率地说,这是一个废话。它包含您可能犯的所有设计错误,甚至设法弥补了自己的一些错误。”
“我声称Mach……是无能的白痴。”
GCC
历史:GNU 编译器集合自 1987 年以来一直存在,最初是作为 GNU 操作系统的 C 编译器创建的。
此后,它已扩展为包括用于在各种平台上为许多其他语言(C++、Objective-C、Fortran、Java、Ada 和 Go)编译代码的前端。它已成为许多类 Unix 操作系统(例如 Linux)上的主要(和默认)编译器,这意味着 Linus Torvalds 对它非常熟悉。
引用:“天哪,那个编译器 [GCC 4.9.0] 不应该被允许从幼儿园毕业。”
“Gcc 是垃圾。”
XML
历史:XML 是一种用于编码文档的标记语言,由 W3C 作为标准通用标记语言 (SGML) 的一个子集开发,并于 1998 年首次发布。
虽然它旨在易于机器和人阅读,但并不是每个人都认可它。Linus Torvalds 就是其中之一,这有助于解释他不喜欢这种格式。
引用:“[XML] 可能是有史以来设计的最糟糕的格式...... 它真的不能作为文件格式进行扩展,而且通常是一场彻底的灾难。”
“XML 是垃圾。真的。没有任何借口。XML 很难为人类解析,即使对于计算机解析也是一场灾难。那种可怕的垃圾没有存在的理由。”
Solaris
历史:Solaris 是由 Sun Microsystems 基于 Unix System V 创建的专有操作系统,并于 1991 年首次发布。就在 Sun 决定在 2005 年通过 OpenSolaris 项目开源 Solaris 代码的时候,Linus Torvalds 有一些选择关于 Linux 新竞争的公开词。幸运的是,对于 Torvalds 和 Linux,OpenSolaris 于 2010 年在 Oracle 收购 Sun 并决定再次使 Solaris 成为专有操作系统后停产.
引用:“很多人仍然喜欢 Solaris,但我正在与他们积极竞争,所以我希望他们死。”
“Solaris/x86 是个笑话……”
MINIX
历史:MINIX 是一个类 Unix 操作系统, 由阿姆斯特丹自由大学教授Andrew Tanenbaum 创建于 1987 年首次作为专有软件发布,后来开源。
Linus Torvalds将 Tanenbaum 视为偶像,这也是他首先对 Unix 感兴趣的原因之一。
事实上,Torvalds在 MINIX 机器上创建了 Linux。然而,这并没有阻止 Torvalds 在多年前与 Tanenbaum 发生激烈的战争,他们的主要分歧在于 Torvalds 决定将 Linux 创建为单体内核,而不是像 MINIX 那样的微内核。令人惊讶的是,linux 为后来他的评论道歉。
引述:“你的工作是教授和研究员:这是 Minix 的一些脑损伤的一个很好的借口。”
“... linux 几乎在所有领域都击败了 minix。”