クロージャがJava7で行われるかどうか、誰か知っていますか?
6 に答える
Java SE 7 JSRが作成され(おそらくDanny Cowardによって)、専門家グループが形成され、コンテンツが選択されるまでは不明です。
私のJava7ページは、一般的なJava 7に関するリンクの優れたコレクションであり、すべてのクロージャ提案とブログエントリへのリンクがあります。
http://tech.puredanger.com/java7#closures
そして、私はJava 7リンクブログを維持しています。ここでは、クロージャやその他のものに関するリンクを次の場所で見つけることができます。
また、私の意見が必要な場合は、私のJava 7Predictionsブログ投稿も興味深いと思うかもしれません。http: //tech.puredanger.com/2008/08/02/java7-prediction-update/
更新:Mark Reinholdは、12月8日のDevoxxで、実装方法に関するコンセンサスが不足しているため、クロージャはJava7に含まれないと述べました。
Devoxx 2008 で、Mark Reinhold はクロージャがJava 7 に含まれないことを明らかにしました。
待って!クロージャはJava 7 に含まれる予定です。Mark Reinholdは、Devoxx 2009 でこの逆転を発表しました。
それをビレイ!クロージャ (ラムダ式) は Java 8 まで延期されました。詳細については、 Project Lambda (JSR 335)に従ってください。
現在、BGGA、CICEなど、いくつかの競合する提案があります。残念ながら、最善のアプローチについては白熱した議論が続いています。結果として、受け入れプロセスの保守的な性質のため、この時点でクロージャがJava7に組み込まれる可能性はほとんどありません。
ここでの重要な問題は、不注意でかなりの複雑さを導入することなく、既存の言語に機能を追加することが非常に難しい場合があることです。これはJava1.5でのGenericsの経験であり、多くの人がクロージャの導入によってさらに複雑になるのではないかと懸念しています。
私のアドバイスは、クロージャーなどの最新の言語機能に本当にアクセスしたいが、Javaエコシステム内にとどまりたい場合は、Scalaを確認する必要があるということです。
Groovyは、クロージャやランタイムクラス拡張などの動的言語の機能を含む、私が見た中で最高のJavaの代替手段です。Rubyにはわずかな設計上の利点がありますが、GroovyはJavaバイトにコンパイルされるという事実を言わなければなりません。 -コードを記述し、インターフェースコードなしでJavaと対話することは、無視できない大きなプラスです。
クロージャーは Java 7 に完全に存在するわけではありませんが、Java でクロージャーを使用するための軽量なソリューションを今すぐ探している場合は、ラムダジ ライブラリでそれらがどのように実装されているかを確認してください。