Java7でこないもの

Java 7 Update from Mark Reinhold at Devoxx Javalobby

The featues not in 7 (some of them, anyway the list is actually infinite)

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

クロージャに関しては何人かの著名なデベロッパが駄目出ししていたので、今回見送られるのは驚かない。むしろ、納得のいくまで議論を積み重ねて、みな納得した上で実装して欲しい。

ちなみに私はダグ・リー氏、ジョシュア・ブロック氏らの案に一票投じたい。

ジョシュア・ブロック氏の"Java Polis"でのプレゼン資料
The Closures Controversy - Joshua Bloch
彼らは現在のクロージャのプロポーザルに対してCICE(Concise Instance Creation Expressions)と呼ばれるシンプルな(私にはC#の匿名デリゲートのように見える)アプローチを提案している。
Concise Instance Creation Expressions: Closures without Complexity - Bob Lee, Doug Lea, and Josh Bloch

その他に関しては個人的に期待していたものばかりで本当にがっかりしているのだが、その中でも

  • 1st class properties
  • Operator overloading
  • JSR 295 - Beans Binding

この3つ、特に最後のBeans Bindingが入らないのは非常にショックだ。何故って、昨日完成したはずのドキュメントに「Beans BindingはJava7で取り込まれる予定だよ」って書いてしまったからだ。:(