Wednesday, July 23, 2008

Active Development Environment

The active development environment, ADE, is the extension of the IDE. The idea is that the IDE is essentially what we've been doing for ever, more or less, in the development world. We write a text document, compile it, run it, see where things crash, and then go edit the doc. Wash, rinse, repeat. Of course there are advancements. Things like code completion and partial compile are awsome. I love these features! But the fact is that we're still editing the document, compiling, running.

This is old school my friends, very old school, and the problem is that we are now applying this same technology to new and emerging programming languages like Ruby and Python. These are languages that want to live in the shell. They can handle the immediate execution. Trying to force these interperted languages into the old model just feels WRONG.

What I want is a development environment that is essentially a shell, like irb, but smarter. If I define a class, I want that class to be captured. If I define a function, that function is captured. At some point I want to be able to work with all these saved functions/class/etc. When I say 'save' I actually mean that I want to manage them. Figure out what lives where and how.

So this is one of those ideas that has been bouncing around my head for sometime now. As a matter of fact I've actually attempted to implement this idea a few times. Thus far I haven't been able to get to where I need to be for this to work the way I want. I've been doing this in Java and I've started to wonder if this is the way to do it.

No comments: