
Javaにおけるラムダ:詳細な分析
PythonやRubyのような言語は長いことラムダを使ってきたが、最近のJVMベース言語の台頭(特にGroovyとScala)により、Javaにおいてもラムダを求める声が再燃した。ラムダとは何か?そして、Java言語にラムダを追加するにあたって提案されたシンタックスはどのようなものか?この記事はこれら2つの問いに対して詳細に検討する。

PythonやRubyのような言語は長いことラムダを使ってきたが、最近のJVMベース言語の台頭(特にGroovyとScala)により、Javaにおいてもラムダを求める声が再燃した。ラムダとは何か?そして、Java言語にラムダを追加するにあたって提案されたシンタックスはどのようなものか?この記事はこれら2つの問いに対して詳細に検討する。

ここ数年にわたって、Javaのモジュール化は活発に議論され続けている話題である。(今や廃れてしまった)JSR 277から、JSR 291の承認、進行中のJSR 294にいたるまで、モジュール化はJavaの進化における必要なステップであるとみられている。ScalaのようなJVMベースの将来の言語でさえモジュール化について検討している。では、モジュール化の意味するところは何で、なぜそれを気にかけるべきなのだろうか?

モジュール化は、大きなJavaシステムにおいて重要な側面である。ビルドを改善するために、ビルドスクリプトやプロジェクトをしばしばモジュールに分割するが、このことが実行時に考慮されることは、まれである。 Modular Javaシリーズの第2弾は、静的なモジュール化、バンドルの作り方、OSGiのエンジンにそれらをインストールする方法、バンドル間の(バージョン付き)依存性の設定のしかたなどについて扱う。
この訴訟は、元々Oracleの特許は有効だという仮定に基づいていた。今ではその仮定はほとんどくつがえされ、Oracleは、著作権侵害だと主張することに固執するようになった。本当のところは、APIやコンピュータ言語でさえ著作権を持てるかどうかというのが問題だ。
Oracle と Google が争う裁判の陪審員による審議が評決に達した。’TimSort’ 実装内に Orcale の著作権を侵害する9行のソースコードを発見したことが唯一の成果だ。陪審員は Alsup 判事の指示に従って SSO の著作権を認める立場を取るためにこれを侵害と判断しているが,最終的な決定は裁判結審時に判事が行う予定である。
Mobile Shell には,モバイルおよびローミングクライアント用にコネクションを提供するための,新たなアプローチが数多く採用されている。
Java 7u4のリリースで、Oracleは遂にJDK と JavaFX SDKのOSX向けインストーラを提供した。このアップデートには、G1ガーベッジコレクターやJCMD診断フレームワークのような新フィーチャも含まれている。更に知るために読み続けて欲しい。
OracleのGoogleに対する訴訟は、AndroidとOpenJDKで同一のものであると思われる「rangeSort」と呼ばれる9行のソースコードに焦点を合わせている。Oracleにとって不運であったのは、そのソースコードは元々Joshua Bloch氏がGoogleにいた際に書いたものであり、その後GoogleによってOpenJDKに寄付されたものであるということだ。これらの展開やその他については記事を読み進めてください。
先月、裁判官のPaul Grewal氏はOracleとGoogleに、交渉によって解決をするよう要求した。 Googleは 、Oracleが特許権の侵害を証明できた場合を条件とし、280万ドルの和解金を提示した。しかしながらOracleはこの提示を和解金額が少なすぎるとして受け入れなかったため、訴訟は4月16日の裁判に持ち込まれた。
最近リリースされたOSGi Release 5早期アクセスドキュメントによると、次回の仕様で最も期待されていたフィーチャの1つ、OSGi向けSNAPSHOTスタイルバージョンが仕様から落とされた。既存のツール群への懸念のためである。読み進むとなぜかがわかる。
OSGi DevCoでOSGiアライアンスはOSGiコアとエンタープライズの仕様のリリース5のアーリーアクセス版を発表した。OSGi R5の最終リリースは今年の夏の後半に予定されている。