It's summer again, people have more time on their hand, and they think about switching operating systems. I'd like you to consider switching to Linux. It's not cool, but you get to enjoy freedom from crapware and forced upgrades, keyboard shortcuts, and great Java support. There is just one drawback. Unlike the Mac crowd with their distinctive-looking hardware, you'll need a garish Linux sticker so that the world can see you aren't running Windows.

It's summer again, people have more time on their hand, and they think about switching operating systems:

I think that's great. A Windows monoculture is not healthy. Judging from my students' crapware-infected laptops, it is actually extremely unhealty.

In the last five years, I regularly used Windows XP, Mac OS X, and Linux (Fedora and Ubuntu). In my experience, Windows XP is just fine when well-tuned, but not easy to keep that way, and totally wretched when it is not. Mac OS X is pretty if you are into blue and brushed metal and the mouse and Java 1.4.2--as you should be if you are a right-thinking citizen. I much prefer Linux, particularly for Java development. I'd like to convince you to switch to Linux as well. My motivation is simple and selfish. If lots of programmers work on Linux, then Java support will for Linux will get even better.

I often hear the argument "I saw the (caution: oxymoron ahead) coolest dudes at a tech conference running Macs, so I should get a Mac too". There are three simple reasons to switch to Linux instead.

  1. Java. In the reality distortion field, "Apple has optimized Java on Mac OS X to look great and perform superbly, making Mac OS X the ultimate platform for developing and deploying cross-platform Java applications." It just ain't so. Sun releases the latest and greatest versions of Java simultaneously on Linux, Solaris, and Windows. The Mac port is done by Apple. After much delay. With interesting bugs. And, if you use Eclipse plugins, you have SWT bugs too.
  2. Keyboard shortcuts. This is what drove me away from the Mac. On Thunderbird, I check my mail with Alt-F W G (File -> neW -> Get all messages). I start a new message with Alt-M N (Message -> New message), save it with Alt-F L (File -> send Later) and send it with Alt-F D (File -> senD unsent). I really hate to do that with the mouse. M o v e t h e m o u s e t o t h e m e n u b a r t h e n l o c a t e a n d c l i c k t h e m e n u t h e n l o c a t e a n d c l i c k t h e s u b m e n u t h e n l o c a t e a n d c l i c k t h e m e n u i t e m. . . I did give the Mac the good try for a month or two, three years ago, and I just couldn't take the constant mousing.
    Now I know what the Mac zealots will say:
  3. Freedom. I run Mac OS X 10.3 on my aging PowerBook, and I like it just fine. Can I try out Java 5.0? Not without paying for and installing Mac OS 10.4.

Ok, you want good Java support, keyboard shortcuts, and freedom. Who doesn't? But isn't Linux hard to use?

For my needs, Gnome seems on par with the Mac OS X and Windows GUIs. In the bad old days, laptop suspend and USB stick mounting worked poorly, but those issues have been fixed. The remaining difficulties are (1) wireless and (2) external displays. Wireless with an external $20 card works beautifully, but some of the built-in adapters can cause grief. Get a $20 card. External display switching is not as easy as it should be. Practice it at home before you give that presentation.

If you are considering switching, do yourself a favor. Stay on your old platform a little longer and switch to cross-platform applications first. For mail, use Thunderbird, not Outlook or Mail.app. You don't want your mail trapped in some proprietary format. Use OpenOffice for word processing and spreadsheeting. You increase your chances of being able to read your files twenty years from now. Use Eclipse or Netbeans or JEdit or Emacs for your Java programming. On Windows, use the bash shell (Cygwin), not the DOS shell. After you are comfortable with the cross-platform applications and tools, make the switch. It'll be easy. And if you don't like your new OS, you can switch again.

???After you switched to Linux, there is one remaining problem--the coolness factor. Nobody can see that you aren't running Windows. The solution is, of course, a Linux sticker. Pick up a garish one at a trade show, or print one from here, here, or here, and slap it on your laptop.