I’m working on a project with a fairly young engineer (let’s just say I have 12 years on him). He’s so enthusiastic about Spring and Hibernate, and so bought into concepts, such as Inversion of Control and declarative programming. It makes me laugh a bit how guys like him act like this stuff is all new and that no one understands the benefit of using it.
Unfortunately, we do know the benefits, but also the pitfalls since we’ve been doing it since the 90’s. Greg Lomow and I were on an advanced development team at Banker’s Trust in the 90’s developing an IoC container for Microsoft COM objects before Microsoft even released DCOM. It supported persistence and messaging of C++-based COM objects.
If you want to see a great example of declarative programming vis a vis Spring-like injection, my EAI with XML and Java book had a chapter provided by Bill la Forge describing his MDSAX tool that created in 1999 allows users to define Java Swing interfaces in a declarative manner.
But, technology is like surfing, if you take the first small wave back to shore, you get a fun trip and others will learn how it’s done on your trip, but there’s a good chance you’ll miss the Kowabunga wave that everyone will be talking about for years to come.
What qualifies as a cowabunga wave? Cloud computing? Cloud computing is conceptually similar to the mainframe (centralization).