Windows vs OSX vs Ubuntu for Ruby/Rails Development
When I first started working with Rails, I had a windows laptop and so that’s where I worked. Later I got on two different Rails projects that used OSX (on Mac minis). Now I’m using Kubuntu. I thought I’d take a minute to compare them all.
I’m not going to mince words here -- try to avoid developing in Windows if at all possible for these reasons:
- Tests will run very slow (by a factor of 10 or more).
- The mysql drivers are not so good (When I developed in windows, I noticed I kept losing my connection to the database during operations that took more than a second or two and I couldn’t get any of the replacement drivers to work).
- A fair amount of the plugins will be much harder to install (we are using the Raspell gem for “did you mean” functionality which needs aspell and the windows dudes still haven’t figured out how to install it. On Ubuntu, it was a simple “aptitude install”).
- Help online is usually not geared towards the Rails on Windows developer.
- If you have to develop in Windows, get IntelliJ and load up Cygwin
If money is no object go for a Mac:
- TextMate is about as good as it gets for Rails Development (It has a bunch of readily available macros and pretty darn good auto completion).
- All the cool kids use Macs for development so there’s plenty of help online.
- They’re very pretty and fun to use (this sounds like a lame reason but if you're going to be using something for 8 hours a day it might as well bring you some joy).
- However, sometimes the package management on the Mac let me down. Fink and Ports and all that tend to fight it out and getting image magic installed ended up taking down the whole system (we had to wipe it -- no foolin’).
If you think Mac’s are overpriced, then go with Ubuntu (or some other linux distro).
- It’s free!
- It has a rockin’ package management system.
- IntelliJ (with the Ruby plugin) is pretty darn good and I have a feeling its going to get better.
Really the choice between OSX and Linux is mostly the choice between TextMate and IntelliJ (or Eclipse/RadRails). And, for now, I think TextMate has a slight edge. TextMate’s auto complete is a joy to work with while IntelliJ’s indexing makes for crazy fast searching. In fact once IntelliJ gets a bit better (don’t let me down Jet Brains – help a brother out with some autocomplete (and maybe some refactoring support)) then it’s just a choice between a really slick operating system and merely a functional one.