Ruby on Railsの最初のパブリックリリースが行われてから3年が経過した。この間、Ruby on Railsは爆発的な人気とともに普及を続け、ラピッドにそしてアジャイルに、そしてなんといっても想像しがたい速度でWebアプリケーションを開発する最強ツールとして大きな支持を受け続けている。Ruby on Railsのアプローチに影響を受けたスクリプト言語やフレームワークも登場した。当然Javaもその影響を受けてきた。

Ruby on Railsが飛躍を続けるなか、Javaは着実に進歩を続けWebアプリケーション開発やエンタープライズシステム開発におけるメインストリームを歩み続けてきた。しかしながらRuby on Railsが実現しているような面とは言語の特性上、相容れないところがある。これに対してJavaでは自身の言語を大幅に変更するのではなく、スクリプト言語そのものをJavaに取り込むことで対応してきた。成果にはJavaに文法を似せたスクリプト言語であるGroovy、JVMでRubyを実行するJRuby、同じくPythonを対応させたJython、すでにコアAPIとして取り込まれたJavaScriptなどがある。

Javaと同じような仕組みを採用している.NETではCommon Language Runtime (CLR)において複数の言語への対応をおこなっている。JVMと違って最初から複数のプログラミング言語に対応することを前提にして設計されているため多くの言語が動作しはじめているという現状だ。

こうした状況を踏まえ、JVMにおけるプログラミング言語対応を推進するためのプロジェクト「JVM Language Runtime」が新しく発足した。今Javaに不足しているのはJVMを複数のプログラミング言語のプラットフォームとして動作させるための取り組みというわけだ。JVMで動作するプログラミング言語を実装するデベロッパに対してユーティリティやフレームワーク、ライブラリなどを提供するためのプロジェクトで、現状ではJRubyおよびJythonのコードが若干含められている。

JVMで動作するスクリプト言語などJava以外のプログラミング言語を実現するにはテクニックの蓄積と共有も必要になってくるわけだが、JVM Language Runtimeはそういった役目を担うことを目指している。今後JVMに対応したプログラミング言語の存在度は高まっていくことになる。同プロジェクトは注目のプロジェクトになりそうだ。