This is a weekly update on new Java 7 information. All current and previous information is maintained on my Java 7 page.
General Discussion
Elliotte Rusty Harold gave a presentation on Java 7 features this week to the NYC Java.net group. Lots of good examples and info can be found there, so you should check it out. In a strange act of synchronicity, I will be doing a similar talk this Saturday at the St. Louis Code Camp. Afterwards, I’ll post some slides and other materials I’ve prepared.
There were a pair of interesting blogs this week that grew out of the Microsoft announcement of their increasing support for dynamic languages in the CLR. Alex Blewitt wrote an entry on the JVM and the CLR and what the future holds and Neil Bartlett added some comments of his own in response.
There was a suggestion in the comments of the Java 7 page to add Josh Bloch’s proposal for Automatic Resource Block Management to the page and that seemed like a good idea to me, so I’ve added a new section for it. The BGGA and JCA closure proposals actually would probably allow the creation of everything covered in this proposal; effectively creating some new syntax for managing resources and cleaning up automatically when they leave scope. However, Josh has been proposing the CICE closure syntax, which would not allow the creation of these kinds of constructs.
Java Modularity (JSR 277, 294)
InfoQ had an article this week on BPS choosing OSGi for modularity that mentions JSR 277 and 294 in passing.
On the JSR 294 mailing list this week there has been a lot of discussion about whether nested superpackages are really needed and worth the added complexity. I noted some of the same concerns in my blog last week. From my point of view, I don’t think they’re worth it and should be dropped. Seems like there is currently some supporters on both sides in the expert group.
NIO 2 (JSR 203)
Following the latest release of the NIO 2 spec, Alan Bateman has posted some examples of reading and modifying file system permissions and multicasting.
More info: JSR 203
Annotations on Java Types (JSR 308)
The JSR 308 folks announced an updated proposal and a new prototype compiler if you want to try it out yourself.
I love having javac open source and available to build and release prototypes of new language features!
More info: JSR 308
JavaBean property support
There were some emails on the compiler-dev mailing list this week from Rémi Forax that indicate he is close to having a patch ready for his property syntax proposal, so that should be interesting to see.
More info: JavaBean property support
Closures
Probably the biggest Java 7 news of the week was Neal Gafter’s post on a consensus closure JSR proposal. I think the key subtlety here is that this was a consensus on the goals of the JSR, not on any particular proposal. Neal offered the BGGA proposal as one possible solution achieving many of the goals. Neal mentions that all of the major proposal authors agreed to this except one, which was apparently Neal’s Google compatriot Josh Bloch, co-author of the CICE proposal.
Stephen Colebourne, co-author of the FCM/JCA proposals commented on the announcement as well, indicating some cautious support. You can find some interesting discussion on JavaLobby as well.
So, seems like things should start progressing at this point, although it’s hard to say how it will all unfold.
More info: Closures