Does the Spring Framework take the fun out of Java?

I’m only part-serious (maybe just 15%) regarding the title.  But, after going to see Rod Johnson (founder of the Spring Framework) speak at the Columbus Java User’s Group meeting last week, the thought did occur to me:  Java has come a long way in the last eight years or so.  And a lot of the “fun” things I would have enjoyed coding myself in the past, are now provided via frameworks like Spring and Hibernate.  Could this be part of the reason why other languages, like Ruby, have become recently popular - because all the fun stuff in Java has already been done?

I remember back around 1999-2000, I developed a server-oriented framework for a client.  The framework used Inversion of Control, and enabled one to assemble a server application by wiring the components together in a properties file.  The framework provided all the common features that a server application might need, including a generic server container, thread management, logging, pooling/caching, configuration, etc.  To create a new server, there were three interfaces that needed to be implemented:  1) The framework’s generic “socket” interface (an abstraction for any stream-based protocol, such as TCP/IP, APPC, Async, etc.), 2) the framework’s “dialog” interface (which, using the configured “socket” interface, handled the application-level dialog layer), and 3) the framework’s “handler” interface, which provided the code to actually handle individual transactions (typically each transaction type was a separate handler.)  Of course, you could mix and match “sockets”, “dialogs”, and “handlers” to construct new variants of existing servers.

That framework is still in use at the client, implementing a number of different server applications, and handles tens of millions of transactions each day (all on a network of AS/400s and mainframes, btw.)

Designing and developing that framework was probably the most enjoyable thing I’ve ever done, programming-wise.

Nowadays, of course, I would use Spring as the underlying framework,
and then add my domain-specific requirements on top of it.  But part of
me would certainly miss working on the plumbing myself.  Don’t get me wrong - I love Spring - but I’m sure others can understand my sentiment.

Rod seemed quite happy at the meeting, and for good reason:  Not only is he the head of a red-hot project, but that project also happens to be a very fun one to work on.  It can’t get much better than that.  Kudos.

Did you enjoy this post? Why not leave a comment below and continue the conversation, or subscribe to my feed and get articles like this delivered automatically to your feed reader.

Comments

No comments yet.

Leave a comment

(required)

(required)