29 7 / 2013
It began, decided to do Rails, I started figuring out what I needed to create a Rails app. As a .Net consultant in that time, I was proud of my windows machine. Yes, like everybody I had issues. But as a windows user you get used to issues. I am sure I don’t need to explain this one to you.
The journey starts
I started my journey by preparing my machine, there were books which let me believe it was possible to do Rails development on a windows machine. The books suggested InstantRails and as soon as I needed more control I walked the custom installation path.
Second thing I had to deal with is I soon realized I had to declare peace to my command line interface. I was a point and click user, always needed a mouse to work with. So I went down that road, forcing myself to the command line. Which was not bad at all, because I soon realized I was winning time here.
I don’t exactly remember, but I am sure I was struggling around with slow startup times of my apps, though it didn’t bother me at first because I had nothing to compare to. So I thought that it was normal.
Waste of time
I had a few things that did bother me of which I thought I could solve as time passed, I won’t go into the details:
- Terrible command-line experience. From time to time I had to restart my terminal, I think it had something to do with the line-buffer.
- Not all libraries did work.
- Most gem developers wrote code to work with linux-based operating systems and didn’t care about windows.
- Ruby wasn’t optimized for windows, slow I/O, which is terrible at Rails because of the amount of files being included when starting the Rails server.
- No efficient windows based text editor, to use for coding.
I actually did develop my first web app in a windows based environment. But it not went as expected, I was always configuring, tweaking and doing other related things to get the most simple gems working. And, offcourse Luis Lavena was my hero these days, he was dedicated to make ruby development acceptable on windows based oses.
Make a choice
After a few months I gave up. No not the Rails :). I decided this could not work out for me, especially after seeing other Rails developers in action on their *nix based machines. So I moved to the next steps, I virtualized ubuntu. After being tired of lags between typing and screen renderings, I created a dual boot. (still needed windows here for my professional work)
That was a better experience, ubuntu my second boot option was clearly faster and solved most of the problems I mentioned before. But I still wasn’t satisfied, I still had to reboot to change my environment. I kept doing this until I got tired of rebooting, not very efficient at all.
Later I realized the dual boot, vms was just a reflection of a clear situation. I had to make a choice. The same week I bought a new MacBook Pro. That wasn’t the only thing I did, I also had a good talk with my employer. I decided to phase out Microsoft based development out of my daily job and I wouldn’t mind if it had cost my job.
A happy beginner
From now on, I was able to focus on learning and building. The experience was like buying a dev console for my work.
I chose the MacBook pro but I could also have been a *nix based laptop. My choice was based on the availability of software at that time.
So if you want to do some Rails development, don’t waste your time on configuring, tweaking or making the best of it. Support your choice by choosing the best tools you can get, it’s worth it.
My post is not about not using Windows to do Rails, but not making the same mistake I did. Learning from others and stop being mulish. Don’t mind dropping old habits.
I also don’t know if my story would be true today, it was almost 6 years ago I switched from Windows. I don’t know about the compatibility and improvements these days, with Ruby 2.0 & Rails 4. And I also don’t know what is going on with the command line interface with the Microsoft product line, maybe there are some good alternatives today.
I knows dev-tools are better though, Sublime Text also runs within Windows and VIM offcourse, always have been there but not a first choice if you are used to point and click.
I am pretty sure I would have made the same choice today.
An interesting thread is going on at reddit.com
@rachidalm thought let you know lot of things has improved since then, still long way to be perfect.— Luis Lavena (@luislavena) July 29, 2013