ひがやすを技術ブログ

電通国際情報サービスのプログラマ

Java7はしょぼくなりそう

Chief Engineer for Java SEの人から、Java7に入る機能、入らない機能が発表されてますね。まだ、finalじゃないと思うけど、ほぼこれで確定なんだろうなぁ。
Java 7 Roadmap Updated: Reactions


入る機能は以下のとおり

  • Modularization - 294 and project Jigsaw
  • 292 - JVM Support for dynamic languages
  • JSR 203 - More New I/O APIs which are nearly finished, includes true asynchronous I/O (not just non blocking I/O) and finally a real file system API
  • JSR TBD: Small language changes (following)
  • Safe rethrow - Allows a broad catch clause, with the compiler being smarter on what you're allowed to rethrow based on what is thrown from the try block. (I had not seen this before but it looks nice)
  • Null dereference expressions - Null checks with '?' syntax similar to Groovy... lettign developers avoid a nest of null checks.
  • Better type inference - Example around generics instantiations, but it was not clear how far the inference would be taken (the more the better in my opinion).
  • Multi-catch - (yes!) allows a comma seperated list of disjunctive exception types in catch clause.


nullチェックが入ったのは良いんだけどね。なんか余りにも地味すぎない?
Java6並みのマイナーチェンジなきがするんだけど。


入らない機能は次のとおり

  • Closures - No consensus around single proposal
  • Reified generics
  • 1st class properties
  • Operator overloading
  • BigDecimal syntax
  • JSR 295 - Beans Binding


Closuresと1st class propertiesがサポートされないのは、予想通りだけど、現実にサポートされないと知るとかなりがっくりきますね。
1st class propertiesがサポートされないのは、一応public fieldに対応しているSeasar2的には有利な点です。でも、Seasar2固有の機能じゃなくて、仕様に含まれて欲しかった。


というわけで、Java7は、ぜんぜん待ち遠しくないです。