I’ve never been a fan of IDE’s. I grew up on Commodore 64 BASIC – always on, just start typing in code and it works. I used IDE’s a little bit way back in my high school computer science day, but I remember it as little more than an editor / compiler combination (Lightspeed Pascal on Mac System 6). After that, I did very little programming for a few years except for casual purposes until I started using Python in 1996.
Most of my Python programming career has been focused on web development, and subsequently most of my development environments have been on development servers. For a good stretch of time, my editor/environment of choice was XEmacs. A couple of years ago I switched to VIM (lighter weight, didn’t need to bother setting up X Windows any more, and I could go into a stripped down production server running bare bones VI and not feel completely lost). A couple of months ago I started using TextMate pretty heavily, and started working on my desktops again since Mac OS X is, after all, Unix. Using DarwinPorts I could get the requirements for both Zope 3 and Ruby on Rails going pretty easily. And in this “just a plain but smart editor please” camp I remained, using the terminal to start and stop servers, to debug, to watch logs, etc.
But the other day I decided to check out RadRails, an Eclipse based IDE for Ruby/Rails development.
And holy shit, I was impressed.
Traditionally IDE’s have bugged me with their ever proliferating collection of panes and tabs. Too much noise! Too much to set up! Too much fighting to make it work my way! But with a little bit of preference tweaking (to point RadRails at the right Ruby / Rails installations on my desktop), I got RadRails running. I didn’t use it heavily (I’m not doing active Rails development, but continue to check it out from a point of envy / curiosity), but I was impressed with what it had: good knowledge of the Rails Generators, the database explorer, consoles, log watchers, etc. All things that I’m sure IDE users take for granted. I was especially impressed with how easily one could maximize any pane to be full-window size, and then go back to the many-many-many-views, using just a double click.
While it still doesn’t feel 100% native, RadRails/Eclipse actually performed and behaved rather well in Mac OS X – better than any other Java application I’ve used. Better by a long shot.
Now where’s something like this for Zope 3? Especially for my bastardized system using SQLAlchemy? :)