Blog home

Front page
About

Recent posts

Windows
Kupfer
Cinnamon

External links

bitbucket
Gitweb
Sporcle

What's bad about Windows

A friend (Sean Torrez) recently asked me to say what I think is bad about Microsoft Windows. That's different from what I don't like about it (which is to say just about everything). What we're looking for here is what's genuinely bad, and hopefully with a little bit higher level of abstraction than a typical anti-Windows rant. And let's face it; I don't use Windows enough to justify a rant anymore.

1. When you use Windows, you don't feel like you own your computer

I'm really not trying to sound like Richard Stallman here. In fact, the type of thing that I'm concerned about can happen even if you have access to all the source code in the OS. What I'm talking about is a computer that randomly restarts. Is susceptible to a crash at any time. Will randomly disconnect from the internet with no available diagnostics. Takes up to a minute to get from the login screen to the desktop.

Whenever I use Windows, I am overwhelmed with a sense that I can't guarantee that I will be able to perform whatever task I'm trying to do. And every seemingly trivial additional layer of complexity increases the chance of failure. Mapping my AFS space to a drive letter almost fails because the letter has been reserved by the system. Personally I don't care at all about drive letters, but unfortunately you can't run cmd.exe in a place like \\afs\umich.edu\user\d\a\dalle. VPN will almost certainly disconnect during any session that needs it for more than an hour. All in all, the sensation is that there's nothing I can do to guarantee the computer will do what I tell it—even if I'm what I'm doing is part of the limited set of activities that Windows allows.

2. Isolation

I don't need a remote desktop connection to get a file off of my computer. I don't need a special Windows Server edition to run a file share from my computer. I don't need to run a desktop to run a web server. Actually, if I'm using Windows, all these statements are false. A desktop computer running Windows is really isolated from the rest of the world. You can use it as a desktop and nothing else. Hell, it even wakes the screens from sleep when you connect to it remotely! Why connecting to my office computer from my laptop in France should move the mouse around my monitors in my Michigan office is completely beyond me.

But in Windows, being logged into your computer means the same thing always. It's connected to the internet in only the loosest sense. It has no ability to serve other computers whatsoever, and the only way to use it remotely is to simulate the in-person experience.

P.S. Windows Server only worsens the problem. First of all, I don't need a separate (very expensive) operating system to do those things, and secondly, this is what you call a server interface?

3. Consistency

I debated putting this as the #1 issue because it affects me even when I don't use Windows. It may seem like a small thing, but Windows ends lines in text files with \r\n while every other operating system used by actual people just uses \n. I'm guessing that unless you're old enough to have used typewriters before computers, you never thought of pressing enter as two separate characters, but rather than ranting I'll just link to Wikipedia for more background.

Why is it such a big deal? Well suppose two people are working on a project; one is using Windows and one is using OS X. The project only consists of text files, so compatibility shouldn't really be an issue. But wait; every single line of every single text file is different between the two. There are increasingly better ways of dealing with this, but it requires way more thought and planning than the only appropriate amount: zero.

Next up is the beloved backslashes. For some unknowably stupid reason, we have to use backslashes to separate folders in Windows, where backslashes are used for escape sequences in nearly every other context. In short, /afs/umich.edu/user/ becomes \\afs\umich.edu\user\ on Windows, which probably means you have to type in \\\\afs\\umich.edu\\user\\ in your programs to make the strings show up properly.

Oh, and here's a great one. Windows no longer limits file names to eight characters plus a three-letter extension, but it's still case-insensitive. You would like to have two MATLAB functions called f.m and F.m? Too bad!

4. The Registry

I'll just finish with a short comment about the dreaded registry. If you have no idea what I'm talking about (which is what Microsoft seems to want), just click the start button, type regedit.exe, and press Enter. Then proceed to follow the rabbit down the hole.

The fact that all of your settings (including many programs that are stupid enough to use it, e.g. PuTTY) are stored in a single file bewilders me. It means that transferring settings from computer to computer is difficult and unsafe. But mostly it means that you cannot use Windows and expect to have a clue what it's doing.

Valid XHTML 1.1

Valid CSS