"Java is the new COBOL"
My mate Hugh just spent a weekend hanging out in Melbourne with Princess and I. Hugh works for an Australian company who build FIX (Financial Information eXchange) engines and assorted ancilliary software products. This generally means that he spends much of his life up to his ears in financial software environments - particularly in trading houses and brokerages and the like. This gives him a unique perspective on life (and legacy systems), part of which emerged with the pithy observation "Java is the new COBOL".
Now before I have to reach for my teflon suit, I'd actually like expand this maxim to include C#, or in fact any other contemporary 3rd generation language presently being used to hand-craft business logic components in the wild.
MDA, software factories, and DSI are all about enabling models to drive the auto-generation of the necessary code and infrastructure artifacts to do the heavy lifting in a system. This is a long-term thing, but it's my belief that these initiatives will - eventually - fundamentally change the way we build solutions, with tools doing most of the work and leaving us humans to apply our frontal lobes to the actual business challenge we are addressing. This is right, and good, and somewhat overdue in my humble opinion.
But, with this in mind, what becomes of code that is being built today in ye olde development environments using current people-intensive approaches and contemporary languages such as Java and C#? All that code that has been lovingly (or not so lovingly) hand coded to exacting (or blurry) requirements will eventually become legacy code that will more than likely have to be maintained. Now if you accept that most people who are currently specialising in writing code by hand will eventually move onto other things, it seems likely that we'll be in a similar position to the one we are in today with COBOL - that is, a shrinking population of developers who understand at a deep level how the code works, and how it can be modified to meet a new or changed business requirement.
There of course always be people who understand these things, but I think they'll become a rare and possibly expensive resource. Just like COBOL developers are becoming today. Interesting thought, yes?