Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。KB)2006年9月、.NETで動作するPython「IronPython」が正式にリリースされました。Basicを使っている開発者にとって、IronPythonの魅力が良くわからないという人もいるのではないでしょうか。そこで、本稿では、C#からIronPythonを利用するメリットとその方法について紹介します。4応用例(RSSの取得)プログラムのまとめIronPythonを学ぶにはIronPythonでインテリセンスIronPythonのライセンスIronPythonのソースコードまとめ参考資料はじめに2006年9月、.NETで動作するPython「IronPython」が正式にリリースされました。.NET環境の本格的な動的言語ということもあってIronPythonは多くの注目を集めました。Basicを使っている開発者にとって、IronPythonをどのような局面で使ってよいのかわからない人も少なくないと思います。IronPythonの魅力がわからない人もいるのではないかと思います。そこで、本稿では、C#からIronPythonを利用するメリットとその方法について紹介します。この記事を通してIronPythonに興味を持っていただければ幸いです。対象読者IronPythonに興味のある.NET開発者。2005と2008)にて作成しています。IronPythonのバージョンは1.1.1です。Framework上で動作するPythonの実装です。Huguninによって開発が始められ、オープンソースコミュニティサイトのCodePlexにて公開されています。IronPythonの特徴について簡単に紹介します。実行が容易IronPythonはスクリプト言語と呼ばれ、入力したコードは順次、解析され実行されます。そのため、コードを簡単に手軽に試すことができます。C#やVB.NETのように実行前にコンパイルする必要はありません。ライブラリが豊富IronPython1.1.1は、CPython(従来のCで書かれたPython)のバージョン2.4互換で移植されており、CPythonの多くの標準ライブラリを利用できます。Frameworkのライブラリも利用できます。開発者は、これらの使い慣れているライブラリから自由にクラスを選択して開発できます。習得が容易で高機能Pythonは「シンプル」で「習得が容易」という目標のもとに作られた言語のため、理解はそれほど難しくありません。そのうえ、オブジェクト指向、宣言に依存しない動的な型づけ、リフレクションの利用のしやすさといった高度な機能も備えているため、外国では特に人気が高く、Microsoft、Google、Apple、Yahoo!といった名だたる企業の開発でも利用されています。WindowsアプリケーションでIronPythonを使うメリットIronPythonの良さが理解できたとしても、使い慣れたC#やVB.NETがあるのに、わざわざIronPythonを使うメリットはあるのでしょうか。ここで少し思い出してほしいのですが、これまでの開発で、Windowsアプリケーションのちょっとした修正のために、コードをビルドしなおしたことはありませんでしょうか。環境に応じて変更できるように設定ファイルや設定マスタを作ったことはありませんでしょうか。実は、このような手間を軽減させる手段として、IronPythonを利用できる可能性があります。いうのもIronPythonは、C#やVB.NETと異なり実行時に判定され動作するという特徴があります。この特徴を利用して、変化する可能性が高い部分にIronPythonを組み込んでおけば、そのスクリプトはリリース後でも自由に変更できるようになります。再コンパイルすることなくアプリケーションの動作を変えることができるのです。具体的なイメージがわかない場合は、当記事のサンプルをダウンロードして実行してみてください。サンプルはC#(VB.NET)で書かれたWindowsアプリケーションです。アプリケーションを起動すれば、WindowsフォームでIronPythonと連携させることができます。アプリケーションのファイル構成サンプルのファイル構成は、下表のようになっています。IronPythonの数学関連の部品Pythonスクリプトは普通のテキストファイルです。拡張子が*.pyとなっているのは慣例的なものです。このプロジェクトでは、IronPythonの配布ファイルに含まれている「IronPython.dll」と「IronMath.dll」に対して参照設定を行っています。アプリケーションの概要アプリケーションの構成は下図のようになります。構成図IronPythonで実装する部分としては、次のような部分が考えられます。設定ファイル(*.config、*.ini、レジストリなど)で記述している部分RSSやRESTといったWebリソース使い慣れているC#やVB.NETの方が生産性は高いので、変化する可能性が高い箇所をうまく見極めることが重要になります。本稿では、C#との連携部分を中心に解説するため、Python言語の文法の詳細についての説明は行いません。Pythonの言語に興味がある方は、Pythonを始めようやPythonユーザーズグループといったドキュメントに目を通してください。ギンペイ)主に.NETを使ったアプリケーション開発に従事するプログラマー。モブプログラミングを取り入れて開発を効率化させるヒント9企業の7割超が「2025年の崖」を理解していないことが明らかに。モブプログラミングを取り入れて開発を効率化させるヒント9企業の7割超が「2025年の崖」を理解していないことが明らかに。モブプログラミングを取り入れて開発を効率化させるヒント9企業の7割超が「2025年の崖」を理解していないことが明らかに。5.0」がリリース新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。