I’ve been reading several articles on lightweight development, notably Secrets of lightweight development, on IBM DeveloperWorks.

“I still use the Java language for most of my projects. It’s easier to find frameworks doing exactly what I need. I can quickly find programmers and tools. It’s a proven programming language. Many of my clients have too much legacy code and momentum to change pervasively.”

I’m sure I’ve also heard the esteemed Rod Johnson talk of EJB being “legacy”.

Java and EJB are relatively modern, surely? EJB was still hot a couple of years ago. I don’t agree with Bruce Tate that Java is going to die any time soon and that we should all flee, looking for the Next Big Thing. I do agree that Ruby should be looked at seriously, and offers better rapid development factilities than Java… but come on folks, Java and EJB are not legacy systems yet. And is he really suggesting we all start using Smalltalk?

Of has the definition of “legacy” been changed while I’ve not been looking? Is it now a synonym for “not the Next Big Thing”.

Technology churns at an astounding rate. Skill sets are hard-won, and there are only so many steep learning curves a mind should be forced to endure. I’m reminded of the monkey-mind, forever flitting its attention to focus on a new sparkling thing every fifteen seconds or so. Is this Attention Deficit Disorder Syndrome? What will happen when Vernor Vinge’s Singularity occurs? Will there ever be a limit as technology lifetime approaches zero? What happens to the software engineering profession then?

However, if/when this happens, I think we’ll have far more pressing social concerns to worry about….