Chad Perrin: SOB

9 March 2007

Windows vs. Linux: What year is it?

Filed under: Geek,Humor — apotheon @ 04:04

I occasionally — no, not occasionally: regularly — see complaints about Linux (see the comments especially for “good” examples) from the strident voices of those defending MS Windows against all comers that look something like the following list.

  • Linux hardly supports any hardware at all. It’s almost impossible for someone to get Linux working on arbitrary hardware without being a programmer.
  • Installing software is too hard. Having to compile software at the command line instead of just using an automated installer is ridiculous. Even RPMs are too primitive, especially with the RPM hell of dependencies.
  • Speaking of the command line, having to do all the system configuration and run all your programs at the command line is ridiculous. Some of us don’t have time for that. Let’s use an OS that has point-and-click tools, like tool-using humans.
  • I can’t play any games on Linux.

Let’s take a similar approach to criticizing MS Windows:

  • Windows doesn’t support network address translation services.
  • It has no built-in firewall capability at all.
  • There’s no integrated support for DVD-ROM drives.
  • The lack of support for any filesystems other than FAT32 and older versions of FAT is ridiculous.
  • A hybrid 16/32-bit OS, with no ability to support 64-bit computing, is absurd in this day and age.
  • Why doesn’t MS Windows provide any automated backup capability without having to spend a whole lot of money buying from an independent software vendor?
  • It’s unbelievable that Windows still doesn’t support hard drives over 32GB worth a damn. Why, just a couple weeks ago, I installed a 250GB hard drive in my FreeBSD system without the OS having any problem with it at all.
  • The lack of real-time graphical resource usage monitoring is pathetic.
  • There’s no support for multiple processors.
  • Windows has no user database, keeps your last network login cached and replaces the old one if you use a different network login, and provides no local file access control at all. There is essentially no user authentication at all, except over the network. Even then, if someone has network access to your computer via Windows Workgroup or NT Domain network, that user will have universal access to files on your computer.
  • There’s no separation of user and kernel process spaces, contributing to security breaches — actually, something akin to a complete lack of security at all.
  • There isn’t any support in the OS for RAIDs at all.
  • 3D graphics support is abysmal. DirectX 6 is simply not up to the current standards of OpenGL and most new games on the market.
  • Windows doesn’t even support networking capability on the level of Samba for server functionality. There’s no DNS server or router capabilities.
  • Web browsing with Internet Explorer is painful. It doesn’t even support XML, and thus it doesn’t support XHTML. It lacks support for content restricted inline frames. You can’t do tabbed browsing, and it provides no phishing protection or pop-up blocking. There’s no integrated search engine functionality, syndication feed support, or Internationalized Domain Name support. These are all things modern browsers should do. Even worse, this substandard, bass-ackwards browser is so tightly integrated with the OS that you can’t tell where one ends and the other begins.

You might notice that the Microsoft Windows complaints above seem a little out of date. In fact, I constructed that list from what I know about Windows 98, as released in 1998. Yes, that’s a completely unfair list of complaints to use to “prove” how awful MS Windows is today. I have news for you, though — the complaints about Linux that I paraphrased are circa 1998 as well, and apply to an OS like Red Hat Linux 5.x, not a modern release of any current Linux distributions.

These days:

  • The Linux kernel alone supports more hardware than most non-Linux operating systems. Debian GNU/Linux is the most widely ported complete operating system in existence. More processors, motherboard chipsets, network adapters, and other discrete pieces of hardware are supported by Debian GNU/Linux than any other OS of which I’m aware, straight “out of the box”, as it were. Consider that with MS Windows you need a stack of driver CDs several inches high to install it from scratch on a fresh computer you just built yourself.
  • If you think installing software on your average Linux distribution requires compiling source or fiddling with RPMs and dependencies, you must not have gotten the memo that was circulating ten years or so ago. There’s this fancy “new” thing called a “package manager”. All the major distros have one, and so do 98% of the not-so-major distributions. Imagine if Microsoft made Windows Update work better, more quickly, and with less hassle. Now imagine Microsoft added 18,000 or so applications to the lineup of things it supports, and excellent searching and package selection capabilities. Imagine Microsoft designed Windows Update so that it handled dependencies for you, making sure you never have DLL conflicts, and so that it never forces any install or upgrade on you. Also, imagine that it gave you security patches quickly, as soon as you needed them, rather than waiting until the second Tuesday of next month. Finally, imagine that quality control improved a thousandfold, so that it’s a truly remarkable event when — no, if — you ever see an update cause more problems than it solves.
  • Most users of free unices, including the various Linux distributions, use the command line quite a bit more than MS Windows users. They do so because the command line is much more useful. The bash shell is more powerful than the DOS command line interface, and the standard unix core utilities are much more powerful than the meager lineup of command line tools available on MS Windows. Sometimes, working at the command line provides a lot more power, flexibility, and productivity than working with GUI tools. It just makes a lot more sense sometimes to use CLI tools than GUI tools. That doesn’t mean you have to use the command line, though. You can avoid bash (or other command shells) on Linux systems just as easily as you can avoid the DOS prompt on Windows. The GUI tools available for major desktop environments like KDE, GNOME, and XFCE are multifarious and comprehensive, and if you want to construct your own customized GUI administrative environment you can do so one tool at a time rather than just accepting the defaults that come with a given desktop environment — just try that with MS Windows. If the GUI tools you have on your MS Windows system don’t do what you need, tough.
  • If you think you can’t play games on Linux, you’ve obviously never checked out Cedega, or noticed that mainstream games like Neverwinter Nights and Unreal Tournament have native Linux versions. True, not all Windows games run on Linux — but the fact that any MS Windows games at all run on Linux is pretty impressive, considering they’re MS Windows games, and considering how friggin’ many of them will run on a Linux-based OS. Some even run better on Linux systems, and for the average lifespan of an OS install, Cedega is less than half as expensive as MS Windows.

Maybe the next time some idiot starts complaining about Linux issues circa 1998 you should respond with complaints of Windows issues from the same time period. It might open a few eyes.

Disclaimer: No Linux distro is my favorite OS. I’m more of a Debian guy than a fan of any other Linux distribution, but I prefer FreeBSD over Debian. It offers nearly as much software via its package manager and ports tree, offers better security and stability characteristics, and in many ways is much easier to configure (compare sound configuration on FreeBSD with ALSA on Linux some time). I only mention this because I don’t want readers to assume I’m a “Linux zealot” just because I object to the inaccuracies and out-of-date statements in many anti-Linux arguments.


  1. We could take the introduction of MS’s PowerShell as an admission of the need for command-line tools to perform complex tasks.

    Comment by Sterling Camden — 9 March 2007 @ 04:19

  2. Oh, yeah — I already take it as such an “admission”. It’s nice that MS Windows finally caught up with 1993.

    Comment by apotheon — 9 March 2007 @ 04:34

  3. A perfect article! I’m completely agree with your points.

    Though there is one major problem with Linux distros. The major distros require huge amount of RAM to run desktop environments that don’t suck. To be honest, because of my profession (Web Design & Development)I can’t do all the works using CLI.

    I’ve a dual boot test machine (128MB RAM, Celeron 2.4 GHz, 40 GB HDD) with Windows Server 2003 and Xubuntu installed on two separate partitions.

    Whenever I try to run Xubuntu on this machine, it hangs after 30 minutes. I applied all the possible tweaks but haven’t seen much improvement in the performance.

    But whenever I run Windows Server 2003 on the same machine, it works amazingly fast.

    Ubuntu runs nicely on my Intel Pentium 4 3.0 GHz workstation that has got 2GB RAM + 80GB HDD.

    Maybe you can guide me what should I do to solve this problem?


    Note: I love the way FreeBSD works. Before installing Xubuntu on my test machine, I was using FreeBSD to do all the development works.

    Comment by Avinash — 11 March 2007 @ 07:56

  4. Thanks for the friendly comments, Avinash.

    It sounds like you’ve got some kind of runaway GUI application(s) sucking up RAM that should not be consuming so many resources. Occasionally, I’ve seen an application like Firefox have RAM issues, such as when a Flash object in a webpage has issues. I’m not entirely sure what’s causing that sort of problem, but if it comes to that you could always try logging in remotely via SSH from another system and checking exactly what application is hammering your RAM, using the top command. Once you figure out what’s causing the problem, you can use kill or killall to end that process. Once you do that, X should be freed up from whatever was causing the problem.

    If you’re not going to lose anything by doing so, you could also just try Ctrl+Alt+Backspace (not delete), which kills the X session without restarting the OS itself. This might be a suitable option if you don’t have the opportunity to log in remotely from another machine via SSH.

    I’m somewhat distrustful of desktop-oriented installs that try to make too many system configuration decisions for you, like (K/X)Ubuntu. My tendency is to do a minimal install so that I get full command line functionality, then use the package manager or ports tree (depending on the specific OS) to install everything I need, including the X Window System and window manager of my choice. I also tend to stay away from GNOME, KDE, and even XFCE, because they are resource hogs in comparison with medium- to light-weight window managers like Sawfish, WindowMaker, and Fluxbox.

    I tend to do web development using Vim in a terminal emulator, and test it in Firefox while doing any graphics works in the GIMP. Obviously, I need the GUI for web development as well, but not for the actual production of code. If I were to use a GUI editor (not WYSIWYG, though) I’d use SciTE, the best code editor (in my opinion) that I’ve used — and that’s always what I use when I have to do any text or code editing from a Windows system (a rarity these days).

    To help solve any issues you’re having, if the above doesn’t answer your questions, I will probably need more information about the specifics of the problem.

    I’m curious — why did you stop using FreeBSD as a development platform?

    Comment by apotheon — 12 March 2007 @ 01:25

  5. My pleasure and thanks a lot for answering my question! :)

    I’ll try your methods and see if I’m able to solve the problem. I feel surprised during my Xubuntu session because about a year ago, I used to run Mandrake 10.1 Community pack (KDE) on the same test machine. The performance was pretty good. Unfortunately, I had to remove Mandrake because of Internet connection problems.

    Now, as far as I think, XFce should work faster than KDE, right?

    If we talk about FreeBSD, I stopped using it thinking that Xubuntu will fit my needs. After trying Xubuntu, I’m highly disappointed. I might remove it in next two or three days if it’s not gonna work properly.

    Comment by Avinash — 12 March 2007 @ 04:32

  6. I don’t really have direct experience with Xubuntu, so like I indicated I’d need more information about the specifics of the problem to be able to offer more direct advice, but there are some issues with the Ubuntu family of OSes in general that I don’t much like. There are numerous unnecessary software dependencies specified via the Ubuntu packages, for instance, which can lead to the installation of a lot more software than is really needed. In cases like the wholly unnecessary Bluetooth dependencies I keep hearing about, this can not only lead to unnecessary software being installed, but also to unnecessary services running — which can affect not only performance (by consuming more resources) but also security (by providing unexpected attack vectors). In this respect, Ubuntu and its derivatives are emulating MS Windows a little too closely.

    Another issue I have is the administrative access model, which is probably worth its own essay. You have certainly noticed that everything is done via sudo for system administration, which (as implemented on Ubuntu by default) is a bit of a security concern. Because of these and other issues, along with some positive characteristics of the Ubuntu family of distributions that make it friendly to immigrants from the world of MS Windows, I regard Ubuntu as an excellent introduction to free unices, but not the OS of choice for someone who is planning to stick with a free unix desktop for the long haul.

    Obviously, being a Linux distribution with roughly the same stuff “under the hood” as the rest of them, Ubuntu can be modified to fix any of the problems I see with it, but once you get that far changing the configuration you might as well have started with a different distribution in the first place.

    (By the way — yes, XFCE should provide lower levels of resource consumption than KDE, but XFCE isn’t the only thing making a difference in performance on a default Ubuntu install as contrasted with Mandrake or Mandriva.)

    Comment by apotheon — 12 March 2007 @ 11:58

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

All original content Copyright Chad Perrin: Distributed under the terms of the Open Works License