Finding a Rails IDE

At the end of August, George Cook wrote up a pretty detailed article describing why Netbeans is his Rails IDE of choice. I haven’t used Netbeans in quite some time, so I’m not going to argue with that. Nor do I have any particular beef with his issues with Eclipse. What I did want to comment on was this statement:

First up, as a general text editor I love textmate, it’s truly fab – and it’s NOT an IDE.. which is my number 1 reason for not using it for RoR: I was new to rails so needed an IDE that had some code completion, or just some documentation support, which textmate doesn’t support.

Call me a masochist but I particularly prefer not to learn a new technology in an IDE simply because I want to know how everything works before I start using tools to do all the work for me. For example, I learned Java mostly on the job using Borland JBuilder. It was easy. Very easy. But it wasn’t long before I realized that if you gave me a text editor, I wouldn’t necessarily know the right syntax for something as simple as a new class. I simply never had to write that template code because the IDE always did it for me. I used code-complete constantly, without it I could barely program.

Perhaps that’s a testimony to the advantages and strengths of a modern IDE—they can get you up and working quickly. At the same time, my dependence on the IDE really bothered me. There were people in the office at the time who considered compiling Java without the IDE a highly complex skill. I’m not kidding. So I took time to improve my understanding of Java and not just the syntax. This knowledge came to help me time and time again.

When I started learning Ruby on Rails, I did so in emacs (okay, now you can definitely call me a maochist). I had the pickaxe book handy, a terminal open to use ri every few minutes, and I was regularly googling for answers or looking up details in the online API docs. And I think I have a much better understanding of Rails due to that effort. And, for the record, I still use emacs for all my Rails work, though now I use the Rails mode much more.