Obie Fernandez has a great write up on the Future of Java panel at QCon with Chet Haase, Charles Nutter, Rod Johnson, Josh Bloch, and Erik Meijer.
On one point:
An audience member suggests that splitting up the JDK platform by defining core-subsets of functionality would be desirable. Chet disagrees, suggesting that it would break things. Guice Bob says Java Kernel will help, which is a small downloadable bootstrapper that downloads needed JDK components on demand instead of all in the up-front download.
The predominant topic of conversation continues to revolve around adding or removing to the Java platform — new features, language or otherwise. Rod seems in favor of adding, while Charles hints that he’s been tempted to use the Open SDK project to create a stripped-down version of the Java JDK.
Erik states matter-of-factly that it is impossible to take things out of a mature platform. “You can never take anything out!”
Josh speaks about JSR 277 and its infrastructure for addressing versioning issues.
Now Josh Block is saying we should create a new Java platform. Everyone agrees that there are real dangers in choosing that road.
One of the things I hope is that OpenJDK will make possible big changes. Once there is an open source Java 7 that still runs Java 1.0 code, it can be there and be maintained for people who want that forever. Java itself can then move forward, perhaps even to Java 2 (:P) with real generics, adding some bloody keywords (@interface still makes me hate people), and other things that we haven’t been able to do because of this legacy requirement.