IronPythonとはPython言語の一実装である。その大きな特色の一つとして、.NET Framework上で動作する点がある。本稿では、このIronPythonについて簡単な紹介と、2007年4月に出たバージョン1.1の追加機能の紹介を行う。
IronPythonとは、どのようなものか? どんなことが可能なのか? 以下に列挙する。
1. スクリプト言語である
C#やJava言語では、書いたソースコードを動かすためにコンパイルという作業が必要である。一方、IronPythonはスクリプト言語であるため、書いた端から逐次実行させることが可能である(内部では、IL言語に解釈されて実行されている)。
2. .NET Frameworkのライブラリを呼び出せる
.NET Frameworkの大量のライブラリを、そのまま呼び出すことが可能である。他にも、COM(ActiveX)の呼び出しも可能である。次の画像のように、IronPythonからWindowsフォームを作成し呼び出すこともできる。
3. Python言語の既存資産の多くを使用できる
IronPythonは、Python言語の一実装である。従って、過去先人が積み上げてきた、多くのPythonコードが利用可能である(ただし、DLL化されたモジュールは呼び出せない等の、一部制限あり)。
4. 実行ファイルを作ることができる
コマンドラインオプションや その他の設定により、ソースコードを実行ファイル(EXEファイル)にすることができる。
5. C#やVBなどのアプリケーションに簡単に組み込める
数行程度の記述で、C#やVisual Basicで作成したアプリケーションに組み込むことが可能である。自作アプリケーションを、IronPythonから制御することも簡単に行える。
6. Visual Studio 2005 SDKを導入すると、グラフィカルなRAD開発が可能
グラフィカルなユーザーインタフェースを持たせたい場合、Visual Studio 2005 SDKに含まれるサンプルを導入することで、Visual Studio 2005でフォームの上にボタンやテキストボックスを貼り付けて開発できるようになる。
上に並べた特徴の中に、異なるモノをつなぎ合わせる糊の役目があることが分かる。IronPythonは、.NETの世界とPythonの世界をつなぐ、橋渡し言語とも言える。
IronPythonを始める
IronPythonに興味を持った方のために、学習を始める際の取っ掛かりを以下に示す。
まず、IronPythonは、米Microsoftの開発者コミュニティ支援ポータル「CodePlex」から入手できる。
サイトの右上に、Current Releaseというリンクがある。ここから、ZIP形式に圧縮されたファイルをダウンロードし、ファイルを展開後、中に含まれるipy.exeを実行する。すると、以下のような画面が表示される。
Copyright (c) Microsoft Corporation. All rights reserved.
>>>
この時点で、すでにIronPythonは起動しており、次にように入力すると簡単な四則演算ができる。
7
また次のように入力すると、Windowsフォームを表示させることも可能だ。
>>> clr.AddReference("System.Windows.Forms")
>>> from System.Windows.Forms import *
>>> f = Form()
>>> f.Show()
以降の使い方は、先ほどのZIPファイルのTutorialフォルダに含まれるTutorial.htmを参考にすると良い。簡単な使い方から、C#で作成したアセンブリモジュールの呼び出し方法、C#からIronPythonを呼び出す方法、デバッグ方法まで丁寧に解説してある。
IronPythonの各種サンプルを参考にしたい場合は、IronPythonサイト内に、IronPython - Samples Overviewというサンプルページがあるので、ここから各種サンプルをダウンロードすると良い。ここには、パズルやFMシンセサイザー、Power Shellとの連携、簡単なコンパイラ、Direct3Dの呼び出し例が掲載されている。
また、IronPythonはPython言語の一種なので、日本Pythonユーザー会(Python Japan User's Group)やPythonオフィシャルサイトの資料が役に立つ。これらのサイトから、各資料にあたると良いだろう。マイクロソフトのエバンジェリスト荒井省三氏による書籍「IronPythonの世界」も有用だ。