Mike Champion of Microsoft picked up on comments from both my and Roger Voss' blogs on what the impact of LINQ means to the evolution of the Java language.
I'd like to first clarify my motivations for sticking my neck out on this: I recently had the opportunity to sit down with Rick Ross, and Matt Schmidt of JavaLobby (and now DeveloperZone) and I debated whether I am a former/current or indeed active Java protagonist. I think given the 8 years I spent working for Java/Sun, it is hard not to take the Java perspective any software debate. My time these days is focused on driving .NET technologies for DataDirect, so my first hand experience with emerging .NET innovations will always prompt me to wonder what this means for the Java community. So in effect, I don't believe my views are entirely representative of the Java community, but more one voice of the Java community who now is fully engaged and an active participant in evolving .NET.
So now that you know where I am coming from, I'd like to take a deeper look at some of the advances, at least from the JDBC perspective which I kicked off when we filed the JDBC 4.0 specification a few years back. At that time, we had a strong push for ease-of-development. Graham and I had strong motivations to leverage the newly introduced annotations and generics language functionality. Introducing, for example @sql
tags, a number of new classes quickly allowed us to improve day-to day life of a JDBC developer. For the goals we originally set ourselves, I think the result is nice, and reasonably clean.
3 years however, is a long time in software - now that we have LINQ the game is clearly afoot, and the original goals we set fo JDBC 4.0 seem limited at best. I suspect many will react citing it is not fair to compare the two, as clearly LINQ is vastly more ambitious. However, in many respects JDBC is and will remain the lynch pin of Java data access (although XQJ will see increasing interest) , it does not seem unreasonable to me to look first at JDBC for a response to LINQ's disruptive influence...
In the meantime, I am already enjoying what LINQ can do - more on that in future postings.