
I have come to the conclusion that doing rails development native in windows is not worth the cost. Things may seem to run smooth initially, but over time problems inevitably come up, and they have become enough of a pain point that i’m moving to a linux virtualization. This for me makes particular sense as most of the full time ruby guys in my shop are using macs and are no help when it comes to figuring out windows only issues.
The first lesson usually learned by rails developers using windows is to use cygwin. I didn’t initially, until i need to use capistrano for deployment, and guess what, windows doesn’t support ssh from the command line, so time for a second rails installation using cygwin for this support. In general, dealing with any type of issue is more frustrating when using windows because most help on the web is not windows focused. A common disclaimer seen when searching boards for help with RoR issues on windows is, “Well, I’m not that familiar with installing xxx on Windows, but” . It’s just going to be much easier to install, say gems for instance, if you can build them in the environment for which they were developed. In fact, awkward native gem compatibility it probably the single biggest reason not to stay on windows.
Then there are issues that don’t have to do with trying to fix something that’s broken. Performance for one. As seen here, certain tasks on windows are much slower than if virtualized, even if the virtualization has inferior resources. Also, developing on windows makes for a poor example when it comes to deployment and dealing with production issues as Rails apps are rarely run on windows. If you’re not used to a linux OS, you’re going to be completely useless when it comes to working on these machines.
What it boils down to is that Rails and everything around Rails is targeted towards linux. The web services, heavy use of git, the framework itself. Sure, becoming familiar with Linux with have its own set of frustrations and headaches, but those will be useful lessons that will bring you closer to Rails and its community, rather than farther away. So until i get my mac and can virtualize my windows enviroment (um, hello Dietrich), rails is going virtual.
Related Services: Ruby on Rails Development, Custom Software Development

I tried to run Rails on Windows for a while; Aptana was pretty good for the development side, if a bit heavy. (I use TextMate at work, so I prefer the “text editor + command line” setup and don’t use most of the features in an IDE.)
I didn’t have to deal with deployment from that machine, though.
In the end, I was running Ubuntu in a virtual machine for development (Jamis Buck has a really good post on setting up MacVim or GVim to include some more TextMate-like features, http://weblog.jamisbuck.org/2008/11/17/vim-follow-up).
When my copy of Windows decided (after validating with no problems for 18 months) that it was no longer a genuine copy, I just switched to Ubuntu full time. Haven’t looked back.
I’ve found Windows is only really a decent development environment for developing very specifically Windows software (DirectX, ASP.NET etc). Anything else, I’d choose Linux (or OS X) any day.
This situation was what finally got me to switch to Ubuntu Linux in April 2008. I’ve not looked back since.
Another nice alternative might be to develop (and maybe deploy) using JRuby. Windows runs the JVM just as well as Linux, so you don’t get the big slowdown you get when you use MRI on Windows.
Aptana uses an implementation of JRuby by default (although you can edit this pretty easily to use RubyStack etc.).
I just generally found developing in Windows to be more pain than it’s worth — not just speed, but the tools available (or lack thereof). When you’ve got ssh, scm options and the three major web servers available with a single command each, why would you bother with anything else?
That sounds exactly how I switched to Linux… 10 years ago now. Good to know nothing’s changed.
Of course, back then I was just a poor college student with a single laptop and virtualization wasn’t exactly going to work on my ~300Mhz laptop. I used to do my papers with StarOffice (what became OpenOffice when Sun bought it) and none of my professors ever noticed a difference. Good times.
I would have to disagree
I’ve created, worked, bugfixed and deployed several Web applications in Rails to Unix and Solaris servers through the years, all from my small little Windows box.
Even more, had the opportunity to mimic specific versions and patchlevels of Ruby without interfering with other versions used by other frameworks or applications, something not easily doable on Linux or OSX.
Indeed Windows development is not conceived in the same way as Linux or OSX, but it’s true that the lack of information around it make things difficult to resolve.
Cygwin performance is a shame, and also current stacks. This is one of the reasons as maintainer of One-Click Ruby Installer project started to work on updated alternatives that simplify life and environment of those using Ruby on Windows.
From the RubyInstaller website:
http://rubyinstaller.org/
You can access updated installers and even download the Development Kit, which opens the door to install those gems that hasn’t been made to work on Windows, yet.