Web開発者を取り込みたい

MS、スクリプト言語の.NET Framework対応を拡大

2007/10/24

 マイクロソフトのDynamic Language Runtime(DLR)は、.NETプラットフォームで動的言語を実行できるようになることを方向づけるものだと、同社のDLRアーキテクト、ジム・ハグニン氏は語った。

 同氏は10月22日、OOPSLA(オブジェクト指向プログラミング、システム、言語およびアプリケーション)に関するカンファレンスの講演で、動的言語あるいはスクリプティング言語の使用は増えており、マイクロソフトはそうした言語を.NETで実行可能にする方法を模索していると話した。

 マイクロソフトはWeb開発者やオープンソース開発者をもっと.NETプラットフォームに取り込みたい考えだと同社の関係者は語っている。開発者にとっては、実証済みの支援ツールを使って安定したフレームワークで開発できるメリットがあるという。

 「要は、.NET向けの優れた言語を構築するのをできるだけ容易にするということだ」(ハグニン氏)

 DLRは、Python、JavaScript、Visual Basic、Ruby、Perl、PHPなどの言語を、.NET Frameworkで実行できるようにするための一般的なフレームワークとして設計された。DLRで走る最初の言語は、ハグニン氏が開発した マイクロソフト独自のIronPythonだ。

 同氏は、DLRで動作する言語の構築を考えている開発者向けのTipsを挙げ、「tokenizerとparserを実装し、自分のAST(抽象構文木)を当社のDLRツリーに翻訳し、自分のカスタムタイプとカスタマイズを既存の.NETタイプに実装する」ことなどを提案した。

 IronPythonに加え、マイクロソフトはIronRuby――Rubyの.NET向け実装――やJavaScript、Visual BasicのDLRでの実装も目指している。

 IronRubyはRubyスタイルの名前を冠しており、それがRubyコミュニティに喜ばれているとハグニン氏は言う。JavaScript のDLR実装は、最初の文字を小文字にしてJavaScriptスタイルの名前にするという。「だが、JavaScriptスタイルがどういうものかを見出すのは難しい」と同氏は、JavaScriptが多様な製品やプラットフォームでさまざまに実装されていることをネタに冗談をいった。

 DLRの最初のバージョンは、マイクロソフトの開発者コミュニティサイトCodePlexでホスティングされており、開発者が参加できるオープンソースプロジェクトとなっている。しかし、次のメジャーリリースは.NET Frameworkの標準コンポーネントになると同氏は述べた。

 同氏は、IronPythonを開発したのは、動的言語が.NETでうまく走らないという説が間違っていることを暴くためだったと語った。同氏は Xeroxのパロアルト研究所でアスペクト指向のJava実装「AspectJ」に携わり、そこを去ってすぐにIronPythonの開発を始めた。

 マイクロソフトがどうやって「後発者利益を活かして物事を台無しにする」か分からないとハグニン氏は冗談をいった。同氏がいうには、マイクロソフトは遅れてやってきて他者の作った土台を奪うという有利な立場に立つことが多いという。

 同氏はIronPythonを開発し、マイクロソフトは後にDLRとなるプロジェクトのために同氏を雇った。現在、IronPythonは.NETで動作する。C言語の同様の実装は、おそらくIronPythonの30倍高速で動作するだろうが、「私にとって重要なのは、Cのパフォーマンスに近づくことではなく、IronPythonが.NETで走るのか、開発者が使えるのかだ」と同氏は語った。

 同氏はIronPythonに関して2つの目標があると話した。1つは、.NETとシームレスに統合できる真のPython実装を作ること。もう 1つはVisual Studioの統合だ。IronPythonチームはVisual Studioソフト開発キットチームと協力している。

 マイクロソフトはIronPython 1.0を2006年9月5日に、バージョン1.1を3月17日にリリースした。この言語はオープンソースライセンスの下でライセンス供与される。

 ハグニン氏によると、DLRは複数のマイクロソフト製品に対応する。対応するのはXNA Game Studio、Microsoft Robotics Studio、ASP.Net、Windows Vista、Exchange Server、Silverlightなど。同氏はその後、Pythonで書かれたアプリケーションを使って、Firefox上でSilverlight を走らせるデモを行った。

原文へのリンク

(eWEEK Darryl K. Taft)

情報をお寄せください:



@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)