Java 7の修正点が確定、この後リリースまでのマイルストーンは?
現在開発中のJava 7に対する小さな修正を施すための「Project Coin」が、最終段階を迎えたことが報じられました。これでJava 7の仕様はフィクスし、リリースに向けて動き出すことになるはずです。
- InfoQ: Project Coin Announces Final List of Small Language Changes
- Joseph D. Darcy's Sun Weblog
- Java 7における5つ(かそこいら)の変更点確定版 - Grな日々(uehajの日記)
ここまでJava 7が到達するまでにはかなりの時間がかかっています。通常のサイクルならとっくにリリースされてもいい頃なのですが、ここしばらくあまり音沙汰がありませんでした。これまでの経緯と現状はどうなっているのでしょう? 少し調べてまとめてみました。
なぜJava 7の開発が遅れているか?
現在一般に使われているJavaはバージョン6か、もしくはそれ以前のバージョン。そして現在開発中のバージョンがJava 7です。Java 7の仕様についてはほぼ確定していましたが、今回のProject Coinでさらにいくつかの追加修正が行われることになりました。
Java 7はもともと2006年から開発が始まり、通常のJavaのリリースパターンであれば18カ月から24カ月後には新バージョンが登場することから考えて、2008年中にも登場しておかしくありませんでした。なぜ時間がかかっているのでしょう?
Java 7に対応したJDKのリリースが遅れている理由として、Javaの生みの親であるJames Gosling氏は2008年12月のマイコミジャーナルの記事「【インタビュー】Javaがレガシーだって? 冗談じゃないよ - James Goslingが語るJavaの現在 (1) Java 7の開発ペース、ゆっくりすぎやしませんか? 」で、次のように答えています。
Java 7は、これまでのSDKに比べてもゆっくりとした開発ペースであることは確かだ。理由は簡単で、新しいバージョンに対応できるユーザがあまりにも少ないから。現在の6系にしたところで、最新バージョンを使っているユーザがどれだけいるだろうか。いまだに4系ユーザがごろごろしている。彼らをアップデートさせるのはひと苦労だよ。
Javaの古いバージョンのユーザーがたくさんいるとのことです。そしてその理由はコストにあると言っています。
非常に悲劇的ではあるが、残念ながら原因はテクニカルなことではない。結局、金の問題に行き着く。たとえばJava 4に対応したWebSphereを購入し、使用している企業があるとする。Javaのバージョンアップに合わせて、WebSphereもアップデートしたいところだが、そのためにはIBMに別に料金を支払わなくてはならない。もうすでに多額の管理費を払っているにもかかわらずだ。そんなカネは払いたくない、というわけで古いバージョンのまま使い続ける羽目になる。WebSphereに限らず、どのJava製品でも同じことが起きていることだがね。
これとは別の視点で、OpenJDKの品質リーダーDavid Herron氏は今年1月のinfoQの記事「InfoQ: Sun社のJDK7、OpenJDK、そしてIcedTea:曖昧さの回避」で次のように説明しています。
2007年5月にほぼ完全な状態のOpenJDKソースをリリースさせるために多くの人が労力を費やしました。ところが2007年5月には JavaONEである発表も行われました。(JavaFXと呼ばれるちょっとしたものですが)これによって(誰かがこれはお前の父ちゃんが知ってる Javaとは違うよと言ったように)Javaを再考する必要が発生し、完成のために作らなければ大きなピースが増えたのです。
言い換えるとJDK7に取り掛かる代わりにJDK6u10とJavaFXを仕上げたのです。
ほかの作業、JDK6のアップデートとJavaFXのおかげでJava 7に手が回らなかった、とのこと。
Java 7のリリースは来年2月か
現時点でのJDK 7のロードマップによると、今月から始まるM6(マイルストーン6)でProject Coinの内容が組み入れられて機能のフィクスと安定化が行われ、10月末からのM7を経て2010年1月からのM8が最終マイルストーンとなり、2月18日が完了予定となっています。
Java 7がどのような機能を備えているのか? については、以下の2本の記事に詳しく解説されていますが、非同期I/O、モバイル機器などを想定した機能のモジュール化、動的言語の実行の効率化、さらなる高速化といったところがハイライトになりそうです。また、Goslingが提案して話題になったクロージャの採用は見送られることになっています。
- Java 7で登場する新機能一覧、クロージャは残念な状況 | エンタープライズ | マイコミジャーナル
- 【JavaOne】JDK7はモジュール化と多言語対応がポイント - 組み込みソフト - Tech-On!
関連記事 on Publickey
あわせて読みたい
GMailが停止した原因、ダメな「システム屋」が急増、ほか。ITNewsWeekend 2009年9月4日号
≪前の記事
グーグル「Google App EngineにRDB採用の予定はない」と明言