MS、動的言語のサポートを拡大

MicrosoftはIronPython、IronRubyに加えて、JavaScriptやVisual BasicのDynamic Language Runtime実装も目指している。

» 2007年10月24日 15時38分 公開
[Darryl K. Taft,eWEEK]
eWEEK

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

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

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

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

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

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

 IronPythonに加え、MicrosoftはIronRuby――Rubyの.NET向け実装――やJavaScript、Visual BasicのDLRでの実装も目指している。

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

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

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

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

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

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

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

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

関連キーワード

Microsoft | JavaScript | Ruby | Python | Visual Basic | .NET


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.

注目のテーマ