Microsoft、.NETに動的言語サポートを段階導入(1/2 ページ)

MSはPython、PHP、Perl、Rubyなどの言語を求める声が高まっていることに応え、動的言語サポートへと踏み切った。

» 2006年08月10日 20時10分 公開
[Darryl K. Taft,eWEEK]
eWEEK

 Microsoftでは、.NETプラットフォームでの動的言語のサポート改善に関しては、段階的なアプローチで臨む考えだ。

 IronPython言語の作成者で、MicrosoftのCLR(Common Language Runtime)チームの開発リーダーを務めるジム・ハグニン氏がeWEEKに語ったところによると、Microsoftでは、さまざまなレベルあるいはフェーズを通じて、CLRの上に各種動的言語のサポートの導入を進める方針だという。

 ハグニン氏によると、いちばん下のレベルでは、Microsoftは.NET構造全体に動的言語の追加サポートを組み込む予定だ。その1つ上のレベルでは、成功したソフトウェアパートナーの事例やベストプラクティスをコード化し、開発者がライブラリから呼び出せるようにする。

 これにより、.NET Framework上で動的言語を使用するアプリケーションの開発が容易になるという。

 そしてライブラリより1段上のレベルでは、MicrosoftはIronPythonに関する取り組みなどを通じて同社が学んだ教訓を提供する計画だ。IronPythonは、プログラミング言語であるPythonのMicrosoft版インプリメンテーションであり、.NET上で動作する。

 IronPythonは7月26日、リリース候補第1版(RC1)の段階に達した。ハグニン氏によると、問題がなければ、同技術は1〜2週間後にバージョン1.0としてリリースされる予定。IronPythonは今後、3週間ごとに新たな公式リリースが提供されるが、Microsoftのコミュニティー開発Webサイト「CodePlex」上にコードが掲載されるため、関心のある開発者はほとんど毎日のように、更新されたコードにアクセスができるという。

 Microsoftが自社の開発プラットフォームでの動的言語のサポートを改善する取り組みを進める背景には、開発者の間でPython、PHP、Perl、Rubyなどの言語を求める声が高まり、その利用も拡大していることがある。MicrosoftとSun Microsystems、そしてJavaコミュニティーでは、それぞれのプラットフォーム上で動的言語のサポートの必要性が高まっていることを認識している。

 ワシントン州レドモンドのMicrosoftキャンパスで7月31日から8月2日にわたって開催されたLang.Net 2006 Symposiumでも、話題と中心となったのは動的言語である。ハグニン氏はこのイベントで、eWEEKの取材に応じた。

 「IronPythonの次の段階としてやりたいと思っているのは、われわれが学んだことを一般化することだ」とハグニン氏は語った。

 ハグニン氏はこの取り組みに向け、MicrosoftのVisual BasicチームならびにWindows PowerShellチームとじっくり話し合ったという。PowerShellは、比較的新しいシェルスクリプティング言語で、command.comの代わりに使うことができる。以前は「Monad」というコードネームで呼ばれていたものだ。

 「彼らのルールは、われわれのルールとそれほど異なるものではない。皆が学んだ教訓を結合し、それを具体的な手法として人々に提供することができれば、Rubyも使いやすくなるだろう」とハグニン氏は話す。

 さらにハグニン氏は、Microsoftが動的言語のサポートに向けて採用しようとしている階層的なアプローチについても説明した。

 「CLRに動的言語のサポートを組み込むにあたっては、われわれが最も得意とする技術を利用するつもりだ」(同氏)

 Microsoftが.NET 2.0に組み込んだ動的言語サポートの具体例としては、動的メソッドがある。「これは汎用的な機能であり、その上に多くの機能を構築することができる」と同氏は話す。

 カナダのトロントにあるObjectSharp Consultingの主席コンサルタント兼パートナーのジョン・ラム氏によると、.NET 2.0に動的言語のサポートが組み込まれたことで、同氏の仕事が楽になったという。同氏は、RubyCLR(.NETとRuby間で相互運用性を実現するブリッジ技術)の開発者である。

 Lang.Netでもプレゼンテーションを行ったラム氏は、「.NET 2.0の中で、わたしだけでなく、ほかの多数の開発者も利用する主要な機能が、動的メソッドと呼ばれるものだ。動的メソッドにより、信じられないような柔軟性を手に入れることができる。RubyCLRはすべて、動的メソッドをベースとして作成されている」と話す。

 動的メソッドにより、ラム氏のソリューションは「高いパフォーマンスを実現するとともに、こういったサポートがプラットフォームに組み込まれていなければ実現するのが困難な機能を提供できるようになった」(同氏)という。

       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.

注目のテーマ