We've all come to crossroads in our lifetimes. One of the biggest for me was deciding where to live. After seeing Austin, Texas for the first time, I knew that my life would never be the same. A unique combination of place, opportunities, and people opened my eyes to a world that I never knew existed. Make no mistake: the Java platform is at a similar crossroads. I believe that Java developers will catch a similar glimpse of a new way of programming. It's my sincere hope that better experiences will lead us beyond J2EE as we know it, and into something simpler, cleaner, and much more effective.
In this chapter, I describe what that future might look like. I cover trends in technology and process that I believe will have profound significance in the near future, and some that might not hit the mainstream for years. I'll then speak directly to the leadership in the Java space, and make some suggestions that I believe are necessary for the long-term vitality of Java.
By now, you probably understand that I believe technology is only a small part of any given problem. Java is not the best programming language that's ever existed, although it's easily among the most successful. The tools are not nearly as important as the hands that wield them. That said, technology does lead any discussion about the future of a dominant platform.
By far the biggest challenge Java developers face is the issue of complexity. I'm starting to see more ...