JavaはCOBOLのように縮こまらないし死にもしないとOracleが主張
以下の記事:
Java won't curl up and die like Cobol, insists Oracle
http://www.theregister.co.uk/2012/03/07/oracle_java_9_10_roadmap/
において Java の将来について QCon 2012 で語られた内容が載っていたので昼休みを使って訳してみますた。間違ってたらコメント下さい。
QCon 2012
Java 8 は 2013 半ばにリリース予定。Oracle は既に Java 9, 10 を準備中であり、Cobolesque のスライドレポートは非常に誇張されていると抗議した。
Java 9 と 10 は Big Data、複数言語間の相互運用、クラウドとモバイルに取り組んでおり 2015 と 2017 年それぞれにリリースする予定だと Oracle は水曜日に述べた。
前 Sun Microsystems で現在 Oracle Java プロダクトマネージャである Simon Ritter は Java を 2 年サイクルリリースに戻すと水曜日のロンドン QCon 2012 で発表した。
Java は 2006 年に Sun の元でリリースされた Java 6 まで 2 年ごとにリリースされていたが、政治的な行き詰まりのせいで次の Java 7 がリリースされたのは 2011 年となった。
Java 9 と 10 のアウトラインについて Ritter はマイルストーンに設定していないと強調していたが、Oracle 関係者はデータベースジャイアント - Java のお得意様 - はプラットフォームが進化し続けることを望んでおり、それは企業だけではなく消費者とデバイスもであると言った。Oracle は Java への開発者をより誘致したいと考えている。
Ritter は Java がある種の退屈な黄昏モードに陥り、言語やプラットフォームの興奮が別の場所へ移る懸念を否定した。
「Java は新しい COBOL ではない」と Ritter は言う。「我々は Java が新しい COBOL であると無意味に誘導するアナリストレポートを見たがそれは本当ではないと思っている。」
Oracle は現在構築されている Web 接続されたモバイルまたはサーバベースの超並列アプリを Java で構築することが適しているかの確認に取り組んでいると彼は述べた。
Java Development Kit (JDK) 10 以降に関して Java をオブジェクト指向にするための根本的な論議が行われている: プリミティブ型ではなく全てがオブジェクトとなるユニファイド型システムの導入があるようだ。JDK とは Oracle と IBM が先導する OpenJDK プロジェクトの成果をベースとした Oracle による公式開発キット。
「Java を真のオブジェクト指向言語にするにはより多くの論議が必要だ」と Ritter は OO への移行について示唆した。
パフォーマンス改善のため、JDK 9 のテーブルで Java Virtual Machine (JVM) をハイパーバイザ対応にするのと同様に、JDK 10 ではラージデータセットを扱うための 64bit アドレス指定可能な配列へ 32bit から移行する動きが取られている。
それらに先立って JDK 8 の到着は来年であり Web プログラミングとモバイルでのいくつかの大きな変更が見られるだろう。
JDK 8 では、JVM ライブラリを使用し既存の Rhino エンジンを置き換えるであろうプロジェクト Nashorn の JavaScript エンジンを使用して Java 仮想マシン上での JavaScript パフォーマンスを搾り出すだろう。
JDK 8 では、デスクトップ用にビルドされた Standard Edition (Java SE) が、現在 Java Mobile Edition (Java ME) が動作しているいくつかのモバイルデバイスでも動くようになるだろう。Oracle はスマートフォンで使われるマルチコアチップや数百メガバイトのオンチップメモリの可用性は Java SE がデスクトップだけでなく携帯電話でも実行できると信じている。
これに対応するため Oracle は既に Java 8 がプロジェクト Jigsaw のモジュール的流儀でラップされるだろうとアナウンスしている。
このアイディアはクラスパスを必要としない Java アプリケーション/ライブラリがパッケージ可能で、プログラミングをよりシンプルでクリーンに行うことが出来る。Java プラットフォームはアプリケーションが、Java SE プロファイルでフルセットではなくかさばらない、必要なコンポーネントのみをインストールできるようモジュラー方式になるだろう。
これは興味深い動きだ。Oracle は Android 上での Google との法的な戦いで提訴しており、Android は一部を Apache Software Foundation の Harmony Java SE で実装している。OpenJDK は Java SE の実装だ。
「Java は 15 年前から出回っていた」と Ritter は QCon で語った。「我々はかつて 200 クラスファイルを宣言した。現在では 4,000 だ。もしあなたが非推奨メソッドを見るなら… いくつかのクラスは通常のメソッドより多くの非推奨メソッドを持つクラスもあるだろう。我々は Java がより大きく成長するためにそれらを捨てなければならない。」
「実行時のライブラリに誰も使用しない CORBA を誰が望んでいるだろうか? データベースアプリケーションをビルドするわけでもないのに何故ライブラリに JDBC を望むのだろうか? 我々は、モバイルデバイスの Java SE をターゲットとし、アプリの配置をより簡単にするためにそれらをモジュールへ分解する事を望んでいる。」
モジュール化された Java の推進は既に OSGi で行われている。OSGi バンドルが Java モジュールとして実行できるように Oracle は OSGi との互換性を模索していると Ritter は述べた。
「SE8 はかなり明確に定義され釘付けになる」と Ritter は述べた。「SE9 と SE10 - マイルストーンは何も置かれていない。」
SE9 と SE10 のアイディアは「我々は Java で行うことができ、Java で行う場合があるが、必ずしも Java で行うわけではない」事だと Ritter は語る。加えて、Java でのプログラミングをより困難にし、多くのエラーを引き起こすため「我々は Java に根本的な変更を加えたくない」とも。®