When choice of programming environment does matter
The standard advice given to the question "What programming language should I use for my next big project?" has always been "whatever you're most familiar with." I'm not in violent disagreement with that sentiment, as long as you're using tools that don't get in your way.
I've been writing .NET code in the corporate world for several years now and although I am probably more familiar with this stack than Rails, I'd never use .NET with any of my own projects. It gets in my way. All the damn time.
Here's an example. Last week I started up Visual Studio and it crashed with some strange nonsense. I restarted it, the usual cure for most Windows issues. No dice. I googled the specific error, found a command line switch to start it in Safe Mode. It would start up, but I had a new random-crashing problem. I checked some logs, googled around a bit more, tried more advice. I ended up install a service pack, uninstalling it, installing it again, attempting a "repair" (which was essentially a re-install), and eventually had to settle for downloading a full DVD iso and completely uninstalling Visual Studio. It took me two full work days to get things back to where they were between reboots and downloads. The install process alone takes close to two hours.
How much time would I have wasted on my Mac at home? Next to nothing. I've never had any issues with Emacs. It's just a (kitchen sink) text editor. If I had to re-install it, it wouldn't take two hours. And it would certainly not require a reboot.
Sure, having to do a full re-install of the IDE might be a semi-rare occurrence. I've been using Emacs for years and I've never needed to reinstall it. Same with Ruby, Python, anything I've ever used. This recent re-install isn't the only thing that's ever gotten in my way. I restart the IDE several times throughout the day in response to lockups and crashes. I run into bugs quite often where the debugger will simply skip my breakpoints, the shortcut for stepping into a function just skips it entirely, or where I can't even inspect a variable because "function evaluation has timed out."
If you're spending time on stuff like this instead of launching your startup, curing cancer, or, hell -- spending time with your family, maybe you should just take a look at what else is out there.
I'm sure there are probably people out there who have never known what it's like to work with stable tools that get the job done. If your tools get in the way, I encourage you to give something else a chance if you value your time and want programming to stay fun. I promise you won't regret it.