マルチプラットフォームで輝き始める“Ruby”(2/2 ページ)

» 2008年02月06日 07時33分 公開
[Darryl K. Taft,eWEEK]
eWEEK
前のページへ 1|2       

 ケリー氏によると、Ruby.NETプロジェクトから生まれた「Gardens Point Parser Generator」は、ほかの.NET言語プロジェクトで利用されたほか、Visual Studioにも採用されたという。しかし、現在進行中のRuby開発プロジェクトは幾つかあるが、「異なるチームのコードを再利用するのは現実的に不可能だ」という。

 「もしプロジェクトを今日からスタートするのであれば、DLRを利用しない手はない」とケリー氏は話す。「DLRはわれわれが採用したアプローチよりも優れている」が、ケリー氏のプロジェクトがスタートしたときには、DLRはまだ提供されていなかった。

 一方、Sunでは、JVM(Java Virtual Machine)上で各種の新言語を利用するための独自のアプローチに取り組んでいる。「Da Vinci Machine」と呼ばれるSunのプロジェクトの責任者を務める同社開発者のジョン・ローズ氏によると、同社は「CLRのようなものを作る必要があった」という。

 「JVMは柔軟なオンラインコード環境、クラスとオブジェクトへのリフレクティブなアクセス、多数の補助ツール、優れたライブラリ、巧妙なパフォーマンス向上手法を提供する」とローズ氏は話す。

 しかし、ほかの言語がJVM上で容易に動作できるようにするための機能や能力が欠落していたという。動的呼び出し、高いパフォーマンス、軽量なメソッドオブジェクト、コンティニュエーション、スタックのイントロスペクションなどである。

 こういった問題に対処するのがDa Vinci Machineである。

 SunのWebサイトに掲載されているDa Vinci Machineプロジェクトのミッション説明は、「JVMを拡張し、Java以外の言語、特に動的言語に第一級のアーキテクチャ的サポートを提供するのが目的である。このプロジェクトでは、JVMの拡張機能のプロトタイプを幾つか提供し、Javaそのものに匹敵するレベルのパフォーマンスで非Java言語を効率的に動作できるようにする予定だ」と述べている。

 ローズ氏は、このプロジェクトにより、すべての言語インプリメンテーションにとってJVMが有用なものになるのを望んでいるという。「ほかの言語にもJVM上で第一級のサポートを提供したい。Javaはほかの言語にとっても素晴らしいシステムプログラミング言語だと、わたしは考えている」。

 JVM用のRubyインプリメンテーションの開発を目指した「JRuby」プロジェクトの開発責任者、チャールズ・ナッター氏によると、1年前まではJRubyインプリメンテーションは完全にインタープリタ型だったが、昨年11月の時点で「コンパイラが完全なものになった」という。このコンパイラは、AOT(Ahead-Of-Time)とJIT(Just-In-Time)コンパイリングの2つのモードで動作する。

前のページへ 1|2       

Editorial items that were originally published in the U.S. Edition of “eWEEK” are the copyrighted property of Ziff Davis Enterprise Inc. Copyright (c) 2011. All Rights Reserved.

注目のテーマ