Do You Really Need Java 7?
It's a long wait for Java 7 and there's a lot of speculation about what we can expect once the final JSR is out. I took a look through the what's coming up to find out if there's anything I actually needed.
One thing that struck me about the whole thing is that maybe there's less demand for a new Java version because of the following reasons:
- The advancements made in both Java 5 and 6 have satisfied most of our development needs from the JDK.
- One of the main things I was looking forward to in future versions was the reduced footprint from the JRE. Once again, that's already cleared with with Java 6 Update 10.
- We've got so many frameworks out there, that we are no longer so dependent on JRE changes
- There's a whole lot of focus on JavaFX releases from Sun. Maybe this has taken over from old fashioned excitement about the next major version of Java.
Either way, from reading various breakdowns and predictions about Java 7, I decided to put together my own list of what I'd like to see happen.
Neal Gafter has a closures prototype completed, but I'm still not convinced that it should be part of Java 7. When I interviewed Joshua Bloch a few months back I asked him for his opinion on the closures debate.
As readers of the first edition know, I value simplicity and clarity above all else. So it should come as no surprise that I don't want to see anymore major additions to the Java programming language. It's already as complex as a language should be. If Java programmers want to use features that aren't present in the language, I think they're probably best off using another langauge that targets the JVM, such a Scala and Groovy.
I agree 100% with this. Simplicity is key and the thought of having closures in there just muddies the waters. This feature has caused so much of a split in the Java camp, that it just doesn't feel right to include. Not for now at least. For those of you unfamiliar with closures, there's a good introduction here.
This is definitely something I'm looking forward to. The introduction of NIO was great a few years back. JSR 203 will include much better filesystem APIs. There's a good overview of the JSR over at David Linsin's blog, and on this article from Java.net.
Making Swing Easier
I'm not saying it's too complicated right now or anything, but JSR296 would be a welcome addition. It has the aim of making desktop applications easier to create in Swing - which is something that's needed. The Eclipse RCP has raised the bar for desktop applications, and Swing needs to be able to compete. This specification will make it easier, and faster, to get your Swing applications off the ground.
If you want to keep track of what's going on in Java 7 discussions, the best place to go is Alex Miller's linkblog on the topic. It's been a great basis for me to get some insight into what may be coming up.
You've read what I'd like included, but what do you think is most important? And do you actually need Java 7?