誕生から20年を経たJavaの現状
「Javaを愛していますか?」
オープニングに登場した日本オラクル株式会社 取締役 代表執行役社長兼CEOの杉原博茂氏は会場にそう問いかけた。
Javaは1995年に誕生し、2015年に20周年を迎えた。その人気は一時期低迷したものの、Java SE 8のリリース後に盛り返し、プログラミング言語として世界最大のシェアとなっている(参考:TIOBE Programming Community Index)。その他にも、Javaの開発者は世界で1000万人以上、Javaで動くデバイスは130億個、エンタープライズデスクトップのシェアは97%、Javaユーザーグループは300以上といった数字を見ると、Javaの現状は順風満帆と言える。
Oracle, Java Platform Product Management & Developer RelationsのDirector、Sharat Chander氏は、Javaは20年を経て世界中で広く利用されるようになったが、次の20年でどのように社会に貢献していけるかを考えなければならないと述べ、時代に応じた機能、革新性、品質やセキュリティと同時に、開発者の生産性やシステムの互換性などを重視しながら、Javaプラットフォームをオープンかつ透過的に進化させていくことを表明した。
続いて、JCP(Java Community Process)でGroup Directorを務めるHeather Vancura氏が登場。Javaの成功のカギはコミュニティであり、今後も引き続きコミュニティが関与し、企業、デベロッパ、コミュニティが協力し合うことが必要と主張した。JCPには企業、非商用/オープンソースグループ、Javaユーザーグループ、個人のデベロッパなどが参加しているが、メンバーシップ規約の変更によりさらに参加しやすくなる。また、日本はJavaにとって重要な市場であり、ぜひ積極的に参加してほしいと呼びかけた。
「次の20年」でJavaは何をすべきか
Oracle, Java Platform DevelopmentのSenior Director、Bernard Traversat氏は、現行のJava SE 8を紹介し、次の20年に何をすべきか、今後の方向性を示した。
Java SE 8は久々の大型アップデートであり、ラムダ式、Stream APIなど、言語、ライブラリ、コーディングスタイルを変える機能追加が行われている。いわば、Javaの近代化が図られた形だ。プロファイリングやイベントログ収集を行うJava Flight Recorder、収集したデータを分析するJava Mission Control、クライアントにインストールされたJavaのバージョンを管理するAdvanced Management Consoleなど、クラウドでの大規模運用に便利なツールもJDKに含まれている。
Traversat氏は、「次の20年」に向けて、Javaをクラウドにも適したプラットフォームとして機能強化していく必要があると述べた。具体的には、最優先事項であるセキュリティ強化のほか、Javaアプリが使用するメモリ量の削減(クラウドでの処理コストを下げるため)、起動時間の短縮(コンテナ、マイクロサービス対応)、GCの効率化などだ。デベロッパの生産性向上、プロファイリングや保守性など運用面の機能強化にも取り組んでいく。
Java SE 9では、モジュール化を実現するProject Jigsawが導入される予定だ。モジュール化が可能になれば、アプリのサイズを小さくして使用メモリ量を節約できるだけでなく、アクセス可能なAPIを制限できるため、セキュリティ向上の効果も期待できる。Java SE 9に関しては、Project Jigsawをはじめ、Javaで対話型環境を実現するjshellなど、多くのプロジェクトが進められている。
Traversat氏は、それ以降のプロジェクトについても言及。Project Valhallaでは、参照型ではないオブジェクトを定義する値型、プリミティブ型のジェネリックスなどを検討中である。Project Panamaは、ゲームやビッグデータなどネイティブOSの機能を利用する機会が増えたことから、C/C++などJava以外のコードに対し、JNI(Java Native Interface)よりも容易にアクセスするための機能を扱っている。
各プロジェクトの詳細については、OpenJDKを参照してほしい。