Top 5 reasons I develop in Ruby on Windows
Here’s the post that Andrew has been waiting for: why I continue to try to develop Ruby in Windows rather than give up and switch to a Mac. Here, in order from least compelling at #5:
- I'm more comfortable with Windows. I know where I need to go to change settings, I'm used to the mental models. Often I find what happens in OSX doesn't line up with my expectations and I get confused. This one is least compelling because I learn quickly; I know I'd get used to a Mac if I used one more than I do now.
- I'm stubborn. Every time someone says "why don't you just use a Mac?" a part of me wants to stay on Windows just because they're trying to convince me not to.
- I like a challenge. Similar but distinct from my stubbornness, every time someone says that developing in Ruby on Windows is hard, I want to see if I can do it.
- The Ruby community doesn't seem interested in supporting Windows, in part because there aren't very many people trying to use Ruby on Windows. I'm trying to stand up and be counted as a Windows Ruby developer (and starting to try to fix bugs where I can) so that people who would like to get into Ruby but only have access to a Windows machine (or work in a Windows shop) are not just dismissed by the community and told to go buy different hardware (or use a VM) if they want to do Ruby. I think the community is doing itself a disservice by alienating people in this way (and I know that's debatable).
- My company's software (which includes a Rails app) is deployed on Windows (as well as Linux) and I'm the last person on my team developing in Windows on a daily basis. I feel like I need to be catching compatibility issues as early as possible and have a Windows environment at the ready for debugging any Windows-specific issues that arise. My company has been (and continues to be) sub-par at supporting Windows, and a good deal of our customers use our Windows version. This reason is most compelling because if I was working in Ruby or Rails somewhere that wasn't deploying on Windows, I would probably have a Mac as my primary work machine.
There you have it. Go ahead and try to argue with my reasons, but watch out for #4, that one might get in your way ;)