InfoQ

News

JSR-292とマルチランゲージVM

作者 Geoffrey Wiseman, 翻訳者 編集部 投稿日 2007年10月25日 午前2時49分

コミュニティ
Java
トピック
動的言語
タグ
言語,
JVM

JSR-292はJava Virtual Machine(JVM)における動的言語用のサポートを改善させるために2007年上旬に立ち上げられた。今までにその取り組みはJVM用の invokedynamicのインストラクションに焦点が当てられてきたが、最近はマルチランゲージバーチャルマシーンプロジェクトに向けた動きが出てきた。John Rose氏は最近の会議の結果を下記のようにまとめている(source)

  • 私たちはJVMインストラクションアーキテクチャに多大な変更を施しています。     
  • これによって新たな動的言語の収穫が得られるのです。JVMがこれらの言語をサポートするのにはビジネス的な理由もあります。
  • EGコンセンサス:パブリックレビューを早く行いたいですね。これはEDR(JCPによる早期の原稿レビューが必要とされる。)を作るということです。
  • 現在のProof of Conceptデザインを正式にするためには"red face test"を通過しなければなりません。それはそのデザインが私たち、EGが解説また改善に値する方向性を示しているということです。これは議決事項ではないのでERスペックは未完成で未解決の問題がいくつかあります。
  • 元々のJSR 292はinvokedynamicだけでなくクラス修正かもしくは拡張を含んでいます。最近の実験によるとinvokedynamicよりも必要と なるものは、多分軽量のビヘイビア拡張(メソッドハンドル、自律メソッド等)であります。これに関しては論議の余地があります。)
  • OpenJDKのオープンソースサブプロジェクトはJSR292用のRI(JCPによって必要とされるリファレンス実装)の生成を援助します。
  • このプロジェクトには(MLVM)他なる変更が含まれ、またそれは標準化が可能であり、MR(maint.rel.)または他のJSRに成りえるものとEGが考慮するかどうかによります。

最後にJohn RoseはOpen JDKリスト上でマルチランゲージVMプロジェクト(サイト・英語)を提案した。

このプロジェクトはJava以外の言語を効果的にサポートするのに狙いが定められたJVM機能のプロトタイプ用に公開される。

またこのプロジェクトで強調される点は、ただ一つの言語用の新たな機能か、もしくは隣接している非関連性の新たな実行モデルに反して現在あるバイトコードと通常の目的拡張のアーキテクチャでの実行を完成させることである。

また実証されていない機能、もしくはニッチな言語上におけるより投機的な作業と反して、成功している、もしくは影響力のある言語の実装者が既に注目している”弱点”を除去する作業に重点を置いている。

その反響は好ましいもので、”かなりこれにはまってますね。(source)”、”Sunが変わらずJava全体をプラットフォーム全体として把握しているのでうれしいですね。(source)”とのコメントが得られている。またそれはNeal Gafter氏の数字的な不満(source)から、Attila氏のメタオブジェクトプロトコル(source)とRemi氏の具体化されたジェネリック(source)と発展的なものだった。

それと同時に人々はこのサイズの挑戦に潜在している危険性に気付くのである。

Attila氏はParrotの不安に関して挙げている。

もちろん目標が幅広すぎると焦点を失うという危険性がいつも存在しています。Parrotの歴史上での恐ろしい例を見て下さい。

John Rose氏はその懸念に関して下記のように答えている。

はい、そうです。その十分に探索された最初のアイディアリストは実行するとしたら作業に何十年もかかるでしょう。だからその中でも一番利益が得られそうなプロジェクトを選ぶ必要性があるのです。

更なる情報はJSR-202オブサーバーリスト(source)、JVMランゲージグループ(source)に参加し、またMercurial(source)慣れ、InfoQ Javaコミュニティ(サイト)に注目すると良いだろう。

原文はこちらです:http://www.infoq.com/news/2007/10/jsr-292-mlvm

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。

Agile2008 チーム参加レポート - カンファレンス参加編

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。