Monday, October 2, 2006

Beware the IDEs of Ruby.

LOOK! Up in the sky! It's a bird, it's a framework, no, it's RUUUBY on RAAAAILS! Scream like a teenage girl at a Justin Timberlake concert as you setup a working CRUD application in just minutes! Loose control of your bladder with every invocation of the mighty ActiveRecord! Prance and frolic through green fields of domain specific languages! Be hundreds of times more productive! One size fits all! Comes in all sizes! It slices, it dices, it even massages your grandmother! Ok, ok, enough. I'll get on the freaking bandwagon already. I've had about 4 days on rails doing real work, and so far I am satisfied with it, borderline impressed. The things I can rave about are: simple setup, TDD out of the box, nice project structure, elegant design, and good documentation. The things I can complain about are: lousy IDE support, the end keyword, and really lousy IDE support. Basically a good IDE, will make all the difference. I'm talking intelliJ quality code completion and refactoring. I'm talking about being able to add test fixtures through a wizard. About an IDE that will understand a rake file. This baby will hook into Rails scripts like script/generate to instantly create, modify, and refactor scaffolding. It will even visually debug your application as it runs in the server. Below are a list of the Ruby IDE candidates I have tried.


Ones I am currently trying.


One I want to try.


None of these appear to make the cut. I'll post back here when I have tried them all and pick the one I think is best. Meanwhile I'm interested to hear if anyone else has a favorite.

4 comments:

Shlomo said...

I've given up jEdit after a few days. The problem is I like an IDE, not an editor. jEdit has some plugins that make it more IDE-like, but it was just too annoying having my file structure off in its own window, and not being able to run the unit tests within the editor.

RadRails and RDT plugin for eclipse seem to be the same thing. RadRails is a bit nicer because it gives you an rhtml editor and also saves you from having to mess with all the eclipse plugins, just install it and you are done. It comes with subclipse already installed too which is nice.

I still haven't tried RoRED because it has a silly name and is only for windows. I run linux. I am curious, but probably won't get around to messing with it because no matter how good it is I won't be switching my OS for it.

Shlomo said...

Whats ur take on RoRED ?
This was the first time I have ever heard about it.

Downloaded it and had a quick look. First impression is that its fast and light (unlike IntelliJ and Eclipse). Seem to provide as much functionality as Eclipse and IntelliJ do.

I had checked out IntelliJ recently (and am still using it cause Im so familiar with the short cuts) - http://rohan-kini.livejournal.com/70063.html

Shlomo said...

Ive worked with RadRails Rored and the .NET one that I have forgotten. I liked Rored the best because it was lightweight. That being said there are a few features Id still like to have.

John Hogenmiller said...

I just came across this post, but maybe my comment will help others.

RoRed is an excellent IDE. It understands relationships between files and groups the tabs accordingly. Auto-Indentation actually works (unlike other editors I have tried in the past). The file summary on the right and the "collapsible code" features makes working with code much nicer. Once I am done with a block of code, I can minimize the function until I need to change it again later.

The downside is that it is written for Windows. I can run it in Linux under wine and it mostly works. Some functions that don't work are the start/stop server buttons, which I can live with. The worst part (while running under wine) is that you can not rename or create new files. I end up keeping a terminal open to do that. If I want to create a new file I do "touch views/sort.rhtml" and it appears in RoRed's file list.

Also, under wine, the font is limited to "ugly".

I currently keep the code on my linux desktop and edit it (via samba share) on my Windows laptop.

For future projects, I am going to develop strictly with sqllite databases, and migrate to mysql for production runs.