[DLR]LL魂 VM魂にパネラーとして出演させていただきました

Lightweight Language Split(LL魂)のVM魂にパネラーとして出演させていただきました。ご参加いただいた皆様、有難うございました。ご一緒させて頂いた、星さん、高井さん、西尾さん、戸松さん、鈴木さん、そして取り仕切って頂いた柴田さん、本当にありがとうございました。皆さんの発表や発言、会場からの質問を含めて私にとっても勉強になりました。もちろんは、私はマイクロソフトの荒井として参加させて頂いたのですけれど、動的言語が好きな一人の立場として発言させていただきました。一部、所属する会社からすればXXな発言もしていますけれど、動的言語における.NETの歩みと言いますか、これから目指して行こうとしているところ(私個人の希望も含んでいますけど)をお話させていただいたつもりです。

動的言語の実装において何よりも重要と私が考えるのは、互換性です。何故なら互換性が高ければ開発したスクリプトは、その実行環境を選ばないからです。例えばIronPythonでは、clrモジュールを使うことで.NET Frameworkとの連携をスムーズにしています。何故、clrモジュールという形式になったかと言えば、コミュニティからのフィードバックでCPythonと異なる機能は別モジュールにした方が良いという意見があったからです。IronPythonはclrモジュールを使わなければ、CPythonとほとんど同じ挙動を示します。clrモジュールを使うことで、型システムを自動的に.NET Frameworkへと拡張します。このようなモジュールによって、実装された環境の特徴を生かすようになっています。つまりプラットフォーム非依存(互換性)とプラットフォーム依存が共存する仕組みがあることによって、使われる人たちへ選択肢を増やすことができるのです。

DLRという考え方は、本当に素晴らしいと私には思えます。何故なら、自分の好きな言語で開発したライブラリが異なる言語で利用できるようになるからです。LLにしても様々な言語が存在しています。何故、様々な言語が存在するかと言えば、1つの言語で全てを行うのが難しいからです。不可能ではありませんが、適材適所で使う用途があるからこそ様々な言語があると思うのです。そういった言語の成果物がシームレスに連携できる世界が実現できたら素晴らしいじゃないですか。動的言語でそういう世界をDLRは目指しています。だから、私は素晴らしいと思うのです。