Oracleは今年7月に行われた2013 JVM Language Summitのビデオとスライドを公開した。JVM Language Summitは,JVMを利用してJava以外の言語を開発する研究者や言語設計者が集う機会であると同時に,JVM設計者がプラットフォームの活用方法について報告を行う場でもある。
最初のリリース時からJavaプラットフォームは,バイトコードの導入や,実行アーキテクチャを選ばないプログラムを実現する互換性レイヤなど,標準JVMの仕様から多大な恩恵を受けてきた。開発当初こそインタプリタ動作であったが,非常に早い時期からJITオプティマイザを導入することで,実行速度の向上とプラットフォーム全体のパフォーマンスアップを実現している。今日のJVMは,JavaアプリケーションをCに近い速度で実行可能にする上で,非常に大きな貢献をしている。
バイトコードは当初から,Java以外の言語を併存可能にするという目的で,Javaから仕様面で独立するように意図されていた (またJavaのコンパイラ処理を容易にするために,JVMの新リリースでは,再コンパイルをしなくても既存のJavaコードの実行速度が向上されている)。JVM Summitは2008年から,JVMの開発者と応用開発者たちが一堂に会する場となった。
今年のサミットでは Scala war stories (ビデオ) やR in Java (ビデオ),あるいはKotlin Reflection (ビデオ) といった,非Java言語の話題が見られた。またJRubyのCharles Nutter氏によるJava Native Runtime (ビデオ,githubプロジェクト,mavenクラスアセット)も紹介された。現行のJNIよりも最適化されたネイティブコード機構を活用して,本物のPOSIXレイヤをJava用に提供するものだ。
JVMに関する開発動向も紹介された。fitting Nashhorn on the JVM (ビデオ) やNashhorn war stories (ビデオ) の他,lambda performance (ビデオ) によるパフォーマス対策,JVM benchmarking (ビデオ),packed objects in Java (ビデオ), hybrid partial evaluation (ビデオ) project sumatra (ビデオ), GPU offloading (ビデオ)などが話題に上がっている。その他,Java 8 for compiler writers (ビデオ) やJVM bridge methods ( ビデオ) など,低レベルのコンポーネントも取り上げられた。
大企業やビッグデータでの利用例としては,OpenJDK at Google (ビデオ) やBig Data (ビデオ),data parallel programming (ビデオ) などが紹介された。ビッグデータからモバイルデバイスまで,実質的にすべてをカバーすると言えるJSR 292 on Android (ビデオ) のプレゼンテーションもあった。
JVM Language Summitは商業団体,研究所,言語開発者らすべての手法を集結したものだ。その結果は,プラットフォームに投資するものと投資されるものを結ぶ,双方向のチャネルとなって現れている。JVMの将来がどのようなものか覗いてみたいと思うのならば,これらのビデオがその一端を垣間見せてくれるかも知れない。