Linus Torvalds is considered one of the greatest living programmers, and for good reason, having written some of the most widely used software, such as the Linux kernel and the Git revision control system. He’s also known for not being shy about sharing his opinions on things that he doesn’t like through colorful and sometimes NSFW language. Sometimes, he’ll direct his sharp tongue at people who, in his opinion, do substandard work or companies and organizations with which he may have a disagreement or be in competition. Most often, though, the target of Torvalds’ ire is technology that he feels isn’t up to snuff. Use the arrows above to read Torvalds’ thoughts about a dozen technologies that have gotten under his skin repeatedly over the years.
BTW, just because Torvalds is now 45, don’t expect middle age to slow him down (much).
History: ARM-based system-on-chips (SoC), which integrate control all of a device’s components and peripherals onto a single chip, are widely used today in mobile devices and on systems like Raspberry Pis. Due to a lack of standards, however, beyond the basic instruction processor set (the ARM part), each SoC is custom designed. While Linux is a popular choice for use on ARM SoC, this lack of consistency has meant many changes, customizations, and complications to the Linux kernel have been required to support all of these devices. While release 3.7 of the Linux kernel in 2012 began to bring some sanity to the situation by providing multi-platform ARM support, the ARM SoC world still causes Torvalds to vent every now and again.
Quotes: “Somebody needs to get a grip in the ARM community.” March 17, 2011
“I hope that ARM SoC hardware designers all die in some incredibly painful accident. So if you see any, send them my love, and possibly puncture the brake-lines on their car and put a little surprise in their coffee, ok?” September 9, 2013
“Gaah. Guys, this whole ARM thing is a f*cking pain in the ass.” March 17, 2011
History: C++ was created by Bjarne Stroustrup, who wanted to create a systems programming language that had the speed and efficiency of C, but with some of the program organization features of Simula. While C++ was created partly with idea of being used for operating system kernels, Linus Torvalds found it to be, well, less than optimal when he tried using it to write Linux kernel code. Since then, he’s made waves by sharing his strong opinion on how bad C++ is, in general, saying it leads to “bad design choices” and is only used by “substandard” programmers.
Quotes: “The fact is, C++ compilers are not trustworthy. … the whole C++ exception handling thing is fundamentally broken.” January 19, 2004
“C++ is in that inconvenient spot where it doesn't help make things simple enough to be truly usable for prototyping or simple GUI programming, and yet isn't the lean system programming language that C is that actively encourages you to use simple and direct constructs.” September 7, 2007
“C++ is a horrible language.” September 6, 2007
History: The GNU Compiler Collection (GCC), has been around since 1987, having been first created as a C compiler for the GNU operating system. It’s since been expanded to include front ends for compiling code for a number of other languages (C++, Objective-C, Fortran, Java, Ada, and Go) on a wide variety of platforms. It’s become the dominant (and default) compiler on many Unix-like operating systems, such as Linux, which means that Linus Torvalds is well familiar with it - for better or for worse.
Quotes: “For chrissake, that compiler [GCC 4.9.0] shouldn't have been allowed to graduate from kindergarten.” July 24, 2014
“Gcc is crap.” November 28, 2006
History: GNOME is an open source desktop environment available on many Linux distributions, providing a graphical user interface and numerous applications. Linus Torvalds has had a long, on-again, off-again relationship with GNOME, often switching between using it and dropping it in favor of other environments such as Xfce and KDE. His complaints about GNOME usually have to do with the difficulties involved fixing problems with the interface and customizing the environment. The good news for the GNOME Foundation is that Torvalds is once again using GNOME - for now.
Quotes: “... the reason I find GNOME limiting is BECAUSE IT IS.” February 16, 2007
“I have yet to meet anybody who likes the unholy mess that is gnome-3.” August 2011
“... the whole gnome3 approach of ‘by default we don't give you even the most basic tools to fix things, but you can hack around things with unofficial extensions’ seems to be a total UX failure.” June 1, 2012
“Gnome seems to be developed by interface nazis….” December 12, 2005
History: Emacs has long been one of the most popular text editors used on Unix and Unix-like systems, including Linux. GNU Emacs, the most widely used Emacs implementation, was created by Richard Stallman and released in 1985 as the first piece of software to come out of Stallman’s GNU project. Despite its popularity, however, not everyone loves it, especially Linus Torvalds. Interestingly, while Torvalds’ has railed regularly at “real emacs” (i.e., GNU Emacs) over the years, his preferred editor is uEmacs, a customized version of a different Emacs implementation called MicroEmacs.
Quotes: “... an infinite number of monkeys typing into GNU emacs would never make a good program.” 1995
“... [Emacs is] the most gummed-up piece of absolute sh*t there is! December 17, 2008
“... real emacs... is the tool of the devil” July 11, 2012
History: Hurd is a microkernel created as part of the GNU project with the intention of replacing the Unix kernel, based on CMU’s Mach kernel. Though Hurd has been a long time in development, with work having begun in 1990, it’s still not ready for production use. Ironically and instead, it’s the Linux kernel that became popular for use with GNU’s other components. Linus Torvalds said that if Hurd had been ready much earlier, he might not even have bothered creating Linux in the first place. Since then, though, Torvalds has regularly shared his negative opinions of Hurd, many of which are based on his dislike of microkernels.
Quotes: “I think Hurd is dead. ... It has a ‘big vision’, and people forgot about the details, and forgot about admitting when they went wrong.” October 2004
“... Hurd isn't really a microkernel, it's an abomination that makes all other microkernels look bad.” May 15, 2006
“In short: just say NO TO DRUGS, and maybe you won't end up like the Hurd people.” October 4, 2001
History: HFS+ is a file system developed by Apple, also known as the Mac OS Extended Volume Hard Drive Format. HFS+ is used by the Mac OS X operating system, although it was first implemented in Mac OS 8.1. Over the years, Linus Torvalds has repeatedly shared his disdain for HFS+. One of his big issues with it is its case insensitivity, which he feels was a very poor design choice.
Quotes: “... OS X in some ways is actually worse than Windows to program for. Their file system is complete and utter crap, which is scary." February 2008
“The true horrors of HFS+ are not in how it's not a great filesystem, but in how it's actively designed to be a bad filesystem by people who thought they had good ideas.” December 23, 2014
“Quite frankly, HFS+ is probably the worst file-system ever. Christ what shit it is.” December 22, 2014
History: Java, first released by Sun Microsystems in 1995 as proprietary software, is one of the most popular programming languages in use today. Early on, Linus Torvalds had high hopes for Java and its “write once, run anywhere” feature, feeling that it could be a big boost for Linux. However, Torvalds felt that Sun botched the implementation of the language and the Java Virtual Machine, which kept it from being adopted on the desktop and doomed it to failure. Years later, even though Java has defied his predictions and thrived and even though the code has been open-sourced, Torvalds still doesn’t seem to think too highly of it.
Quotes: “Essentially I see the Java engine just slipping, not going anywhere.” August 1998
“[Java] has lost much of its potential, partly because of the way Sun Microsystems has handled it.” April 1999
“Java, I don’t care about. What a horrible language.” November 2011
History: Mach is a microkernel, originally developed at CMU as a replacement for Unix’s BSD kernel in the late 1980’s. It later was used as the basis for other kernels (not all of which were microkernels), such as GNU Hurd and Apple’s Mac OS X. Given Linus Torvalds’ dislike for microkernels, it’s no surprise that he has expressed his displeasure with Mach on several occasions over the years. Ironically, Steve Jobs once tried to hire Torvalds to work on OS X, but was rebuffed when Torvalds was told it would mean having to give up Linux development, not to mention having to work on an operating that had its roots in Mach.
Quotes: “My personal opinion of Mach is not very high. Frankly, it's a piece of crap. It contains all the design mistakes you can make, and even managed to make up a few of its own.” 2001
“I claim that Mach people ... are incompetent idiots.” April 20, 2006
History: MINIX is a Unix-like operating system created by Andrew Tanenbaum, a professor at Vrije Universiteit in Amsterdam, first released as proprietary software in 1987 and later open-sourced. Linus Torvalds has cited Tanenbaum as an influence and one of the reasons he became interested in Unix in the first place. In fact, Torvalds created Linux on a MINIX machine. However, this didn’t stop Torvalds from getting into a flame war with Tanenbaum many years ago, in which their primary disagreement was over Torvalds’ decision to create Linux as a monolithic kernel, rather than a microkernel, like MINIX. Surprisingly, Torvalds later apologized for his comments.
Quotes: “Your job is being a professor and researcher: That's one hell of a good excuse for some of the brain-damages of Minix.” January 29, 1992
“... linux still beats the pants of minix in almost all areas.” January 29, 1992
History: Solaris was created as a proprietary operating system by Sun Microsystems based on Unix System V and first released in 1991. Right around the time that Sun decided to open-source the Solaris code through the OpenSolaris project in 2005, Linus Torvalds had a few choice public words about Linux’s new competition. Fortunately, for Torvalds and Linux, OpenSolaris was discontinued in 2010 after Oracle bought Sun (though derivatives of it live on) and decided to make Solaris once again a proprietary operating system.
Quotes: “A lot of people still like Solaris, but I'm in active competition with them, and so I hope they die.” February 2005
“Solaris/x86 is a joke….” December 2004
History: XML is a markup language for encoding documents, developed by the W3C as a subset of the Standard Generalized Markup Language (SGML) and first published in 1998. While it was meant to be easily readable by both machines and people, not everyone finds that to be the case. Linus Torvalds is one of those people, which helps to explain his dislike for the format.
Quotes: “[XML] is probably the worst format ever designed…. it really doesn't scale as a file format, and it's generally a complete disaster.” March 6, 2014
“XML is crap. Really. There are no excuses. XML is nasty to parse for humans, and it's a disaster to parse even for computers. There's just no reason for that horrible crap to exist.” March 6, 2014