Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I've done some searching and quite haven't come across the answer I am looking for. I do not think this is a duplicate of this question. I believe Windows could be a suitable development environment based on the mix of answers in that question.

I have been developing in Ruby (mostly Rails but not entirely) for about a year now for personal projects on a Macbook Pro however that machine has faced an untimely death and has been replaced with a nice Windows 7 machine. Ruby development felt almost natural on the Mac after doing some research and setting up the typical stack. My environment then included the standard (Linux like) stuff built into OSX, Text Wrangler, Git, RVM, et al. Not too much of a deviation from what the 'devotees' tend to assume.

Now I am setting up my new Windows box for continuing that development. What would my development environment look like? Should I just cave and run Linux in a VM? Ideally I would develop in Windows native. I am aware of the Windows Ruby installer. It seems decent but its not exactly as nice as RVM in the osx/linux world. Mercurial/Git are available so I would assume they play into the stack. Does one develop entirely in Windows? Does one run a webserver in a Linux VM and use it as a test bed while developing in Windows? Do it all in a VM?

What does the standard Windows Ruby developer environment look like and what is the workflow? What would a typical step through be for adding a new feature to an ongoing project and what would the technology stack look like?

share|improve this question
1  
Unless you really really want to work on Windows, skip the VM and install Ubuntu as dual-boot. You can keey your Windows, and use Ubuntu for dev work. –  Hakan Deryal Apr 28 '12 at 20:50
1  
I most likely won't dual boot due to the fact this machine is more than sufficient to run both in parallel seamlessly. I've grown accustomed to Windows 7 over the years and really enjoy several factors in it. If I can create an effective environment for Ruby I would prefer it. –  Rig Apr 28 '12 at 21:00
    
(and I work mostly in a unix console during my paid hours) –  Rig Apr 29 '12 at 0:13
3  
Your environment shouldn't get in the way of getting the job done. Cave and run *nix. –  Ash Apr 29 '12 at 23:56

2 Answers 2

up vote 2 down vote accepted

I develop Ruby for both on Windows and Linux, and Linux is far far easier to work with in the long run.

If you like to "just do it" and not fight with..just weird stuff, then I would definitely be running a Linux VM. It's just much easier and more fun that way.

While this may not directly be the answer you're looking for I personally run a separate Linux box and then SSH into it from my Windows laptop. I do all my dev stuff on Linux and then only work on Windows when there is no alternative (client runs nothing but Windows boxes for example).

You could duplicate a similar environment with a Linux VM.

There are so many more tools and less incompatibilities on Linux. It's a joy to develop on it, while on Windows you many times bump into strange quirks or problems which eventually interrupts a smooth work flow. It's just less of a hassle on Linux. However if you're willing to put a little extra effort into it then I'm sure you CAN get something decent on Windows. But for fun factor, the points go to Linux.

share|improve this answer
    
Installing Fedora in Virtualbox right now...lets see how it goes. –  Rig Apr 30 '12 at 18:26
1  
Fedora did not play well at all with virtualbox. I couldn't get it to accept reasonable displays or work with gnome3. Installed Linux Mint which played perfectly well. Since I basically am doing what you suggested I will accept your answer. –  Rig May 1 '12 at 3:57

I've done a lot of smallish, personal projects in Ruby on Windows 7. I haven't found it too terribly difficult to work with, but there were a few amenities that I needed to set up for myself:

  1. I used the Windows Installer to set up the Ruby environment. It's worked fine for me so far. However, if you think you need more than one version of Ruby running, there's a add-on called Pik that aims to recreate the functionality of RVM.
  2. I made a point of upgrading the console somewhat. Some people will suggest Cygwin. I'm a bit to lazy to bother, but I grabbed Console2, which allows for a good deal of customization, including tabs. I also hear tell that UnixUtils is a nice addition, if you find yourself the grepping type.
  3. That being said, I do have VirtualBox set up with both Linux Mint and Ubuntu. I don't develop on them, mainly because I'm more comfortable in the Windows environment, but it's nice to have them around so I can test my code out in there and make sure it works on both platforms.
  4. I haven't bothered with a robust IDE for my Rubying yet. Notepad++ has done good by me so far, and I haven't found that it has impeded my ability to code. I did use Netbeans awhile back, with a Ruby plugin. It seems to be good for setting up your file system for creating Ruby Gems if that's your goal.

I guess my testimony comes down to this: I have no problems programming Ruby on Windows. The things I've mentioned here take maybe 5 minutes to set up, max. If you're more comfortable running it in a VM or Dual Booting, that could work as well, but I don't think it's entirely necessary unless you're more comfortable in that environment. Happy coding!

(Somewhat depressingly, my low reputation disallows me from linking to all the things I mentioned up there. A Google search will turn them up. Also I realize this is late. I'm more posting it in the hopes that future stumblers upon the same question will find it useful)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.