JavaにJavaScriptとPythonが合体。JSエンジン「V8」とPythonランタイム「CPython」組み込む「Project Detroit」をオラクルが発表

テクノロジー AI
新野淳一

ITジャーナリスト/Publickeyブロガー。IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。

特集

オラクルは、カリフォルニア州レッドウッドシティで開幕したイベント「JavaOne 2026」で、「Project Detroit」(以下、Detroit)をOpenJDKのプロジェクトプロポーザル(プロジェクト提案)として発表しました。

DetroitはJavaにJavaScriptエンジンの「V8」とPythonランタイムの「CPython」を組み込むことで、JavaとJavaScript、Pythonの相互運用性を高めることを目的としています。

Detroitは、JavaにJavaScriptのスクリプトエンジンを組み込む目的で2018年にプロジェクトが始まったものの実装に至らず、2019年に中止となっていました。

それが今回、JavaもしくはJavaVM言語と他言語との相互運用性へのニーズが高まってきたことを背景に、JavaScriptとPythonをサポートするプロジェクトとして再開が提案されることになりました。

V8とCPythonのソースコードを組み込む

Detroitの実装はJavaScriptエンジンのV8のソースコードと、PythonのC言語によるリファレンス実装であるCPythonのソースコードをJavaに組み込むことを想定していると説明されています。

これによりJavaScriptおよびPythonの言語の互換性を完全に保てると同時に、各ランタイムのソースコードのメンテナンスはそれぞれのコミュニティに任せることができます。

また、Javaとそれぞれのランタイムはヒープ実行を分離することでセキュリティを確保しつつ、JavaのScriptEngineAPIでそれぞれの言語を利用可能にする予定です。

将来的にはJavaScriptとPython以外の言語にも対応を広げる可能性があるとしています。

Javaと他言語の相互運用によるメリットとは

JavaScriptは非常に多くの優れたWebアプリケーションのUIフレームワークが多数存在します。JavaのバックエンドとJavaScriptのUIフレームワークとの組み合わせが容易になれば、開発者の生産性向上に役立つはずです。

一方Pythonには多数のAIや機械学習のフレームワークやライブラリが存在するため、Javaとこれらの機能との相互運用性が高まれば、JavaからさまざまなAIや機械学習の機能の呼び出しが容易になるでしょう。

こうしたJavaと複数のプログラミング言語の相互運用性に関しては、以前は多言語対応の実行環境を提供するGraalVMに期待されていたものでした。

しかしGraalVMは2025年9月にJava以外の言語のランタイムに注力し、Javaのバージョンアップには必ずしも追随しない方針を発表しています。

参考:GraalVMは今後Javaとは独立してバージョンアップへ。Java以外のPythonやJavaScriptに注力する方針を発表

Javaによる他言語との相互運用性を目指すDetroitの再始動には、こうしたGraalVMの方針変更が影響していたと言えそうです。


この記事は新野淳一氏が運営するメディア「Publickey」が2026年3月18日に掲載した『JavaにJavaScriptエンジン「V8」とPythonランタイム「CPython」を組み込む「Project Detroit」、オラクルが発表』を、テクノエッジ編集部にて編集し、転載したものです。

《新野淳一》

新野淳一

ITジャーナリスト/Publickeyブロガー。IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。

特集

BECOME A MEMBER

『テクノエッジ アルファ』会員募集中

最新テック・ガジェット情報コミュニティ『テクノエッジ アルファ』を開設しました。会員専用Discrodサーバ参加権やイベント招待、会員限定コンテンツなど特典多数です。