(注:このブログはもう更新していません)この日記は私的なものであり所属会社の見解とは無関係です。 GitHub: takahashikzn

[クラウド帳票エンジンDocurain]

JDK7にラムダ式は入らない

http://www.infoq.com/news/2010/09/plan-b
こちらを見て知ったのですが、どうやらJDK7では待望のラムダ式が入らない模様です。


Oracleの中の人のブログでは以下のように記されています。

In my previous entry I described two plausible plans for moving forward with JDK 7:


Plan A: JDK 7 (as currently defined) Mid 2012
Plan B: JDK 7 (minus Lambda, Jigsaw, and part of Coin) Mid 2011
JDK 8 (Lambda, Jigsaw, the rest of Coin, ++) Late 2012


Thanks to everyone who responded to that entry, both directly and indirectly. The voluminous feedback was strongly―though not universally―in favor of Plan B. As of today that is the plan of record for JDK 7 and JDK 8.


I’ve updated the feature list to reflect this decision. A new milestone schedule will be posted shortly.



以前、JDK7がどうなるかについて、以下の2プランを提示した。

プランA: 現在予定されていた通りのJDK7(2012年中頃リリース)
プランB: ラムダ式、Jigsaw、Coinの一部を削除(2011年中頃リリース)。JDK8で、ラムダ式、Jigsaw、Coinの残りの部分を取り込む (2012年後半のリリース)


直接的にしろ間接的にしろ、以前の投稿にレスをくれたみんな、どうもありがとう。
どうやら、ほとんどの人(全てではないにしろ)はプランBを望んているということがわかった。
今日の時点では、プランBが公式のリリースプランとなる。


この決定を受けて、(実装予定の)機能一覧を更新した。新しいリリーススケジュールは近日中に掲載すると思う。

個人的には残念かつ歓迎

プログラマとしての僕からすると、ラムダ式がないのはなんとも寂しいです。
無名クラスという美しくない文法からやっとオサラバできるかと思ったのに。


一方で、マネージャーとしての立場からすると歓迎。
なぜならラムダ式をきちんと使いこなせる(ラムダ式を前提としたAPIをマトモに設計できる)エンジニアはそうそういないから。


Javaがここまで普及している大きな理由の一つは「文法が比較的簡単だから」だと個人的に思っています。
2年目、3年目でも充分に戦力化できる程度の簡単さが受け入れられたというか。
それを、わざわざ自分で損ねることもないだろうに、と思うんですけどね。


もちろん、「開発規約で(ラムダ式の使用を)制限すればいいだけでしょ?」という話もありますが、
規約とはいつか誰かが一度は必ず破るもの。

そうですね、もし仮に自家用車に自爆ボタンが付いていたとして、
「別に、押さなければ無害じゃね?」という議論がおかしいのと同じ理屈だと思います。