差分

ナビゲーションに移動 検索に移動

IronPython

1,451 バイト追加, 2012年8月7日 (火) 06:35
'''IronPython'''とは、[[.NET FrameworkおよびMono上で動作するPythonの実装である。Framework]]および[[Mono]]上で動作する[[Python]]の実装である。 [[ライセンス]]は[[Apache License 2.0]]となっており、[[オープンソース]]や[[クローズドソース]]などと言った形態を問わず商用利用もしやすくなっている。
== 概要 ==
IronPythonは[[.NET Frameworkの持つ豊富なクラスライブラリをPythonの文法でシームレスに利用できるだけでなく、従来のPython(CPython)のコード資産さえもある程度そのまま利用できることが特徴である。また、Framework]]の持つ豊富なクラスライブラリをPythonの文法でシームレスに利用できるだけでなく、従来のPython(CPython)のコード資産さえもある程度そのまま利用できることが特徴である。また、.NETの実行環境に対応した各種ツールが、そのまま利用できる点もメリットといえる。
もともとPythonはスクリプト言語であるが、IronPythonコンパイラサービスによってもともとPythonは[[スクリプト言語]]であるが、IronPythonコンパイラサービスによって.NETアセンブリにコンパイルすることも可能である。これはスクリプト言語として利用する場合はバイトコードに動的コンパイルし、アセンブリの場合は、それが事前コンパイルされたものと考えることができる。NETアセンブリに[[コンパイル]]することも可能である。これはスクリプト言語として利用する場合はバイトコードに動的コンパイルし、アセンブリの場合は、それが事前コンパイルされたものと考えることができる。
IronPython自身は[[C Sharp|C#]]で実装されている。
 
2010年までは世界最速のPython実装であったがPyPy(PyPy1.6)に抜かれた。その後は不明。
== 開発の歴史 ==
IronPythonの起源は、「CLIの設計は動的言語との相性が悪い」というIronPythonの起源は、「[[CLI]]の設計は[[動的言語]]との相性が悪い」という[[.NET Frameworkの問題点を検証するために作成された検証用のプロトタイプであった。IronPythonの作者であるJim Framework]]の問題点を検証するために作成された検証用の[[プロトタイプ]]であった。IronPythonの作者であるJim Huguninは2003年に、この論文を発表した。
その後、「何故[[.NET Frameworkは動的言語として駄目なプラットホームなのか?」という短い論文を書くためにPythonの移植を試みたところ、彼の意に反して良く動くものができてしまった。そこで彼は開発を継続することとしOpen Framework]]は[[動的言語]]として駄目なプラットホームなのか?」という短い論文を書くために[[Python]]の移植を試みたところ、彼の意に反して良く動くものができてしまった。そこで彼は開発を継続することとしOpen Source Conference 2004 でIronPython 0.6をCommon 6を[[Common Public Licenseでリリースした。2003年の論文が間違いであったことを、彼自身の手で証明したことになる。License]]でリリースした。2003年の論文が間違いであったことを、彼自身の手で証明したことになる。
その後、Jim Huguninはマイクロソフトに合流してIronPythonの開発を継続、Huguninは[[マイクロソフト]]に合流してIronPythonの開発を継続、.NET Framework 2.0に対応したバージョンを作成し、現在ではShared Source Licensing Programとしてリリースしている。0に対応したバージョンを作成し、[[シェアードソースライセンス]]のもとでリリースされていた。
現在の最新版であるIronPython 2010年10月21日、IronPythonおよび[[IronRuby]]がマイクロソフトからMonoプロジェクトに譲渡された。同時にマイクロソフトで開発中であった[[Visual Studio]]用のアドオン群の[[ソースコード]]も公開された。また、ライセンスがシェアードソースライセンスからApache License Version 2.x系列は.NET 4.0に対応し、DLR(動的言語ランタイム)上に実装されている。0へと変更され、本格的な商用利用が可能となった。
2012年3月時点の最新版であるIronPython 2.x系列は.NET 4.0に対応し、[[DLR]]([[動的言語ランタイム]])上に実装されている。対話環境であるIronPython Interactiveや、IronPython用の各種プロジェクト テンプレートをMicrosoft Visual Studio|Visual テンプレートをVisual Studio 2010に統合するインストーラも用意されている。 === IronPython 2.7.2.1 ===2012年3月12日リリース。zipアーカイブからライブラリを読み込むzipimportモジュールのサポートされた。また、[[Mono for Android]]およびWindows Phone 7.5のプレビュー版(暫定サポート版)も提供される。
== 互換性 ==
IronPython 2.x系からはCPython(純正Python)とバージョン番号をあわせるようになっており、たとえばIronPython 2.7.1であればCPython 2.7.1互換を意味する。
 
== 対応プラットフォーム ==
* [[.NET Framework]]([[Mono]]) 3.5以降
* [[Silverlight]]([[Moonlight]]) 4以降
* [[Mono for Android]] (2012年3月12日時点ではプレビュー版)
* Windows Phone 7.5 (2012年3月12日時点ではプレビュー版)
== インストール ==
1. GitHubからソースコードをダウンロードする。[[GitHub]]から[[ソースコード]]を[[ダウンロード]]する。
GitHubのサイト上からブラウザでダウンロードするもよし、gitでダウンロードするもよし。[[GitHub]]のサイト上から[[ブラウザ]]で[[ダウンロード]]するもよし、gitで[[ダウンロード]]するもよし。なお、IronLanguageプロジェクトの全ソースコードがダウンロードされるのでなお、IronLanguageプロジェクトの全[[ソースコード]]が[[ダウンロード]]されるのでIronPythonのみならず[[IronRuby]]のソースコードも含まれている。の[[ソースコード]]も含まれている。
<source lang="bash">
$ mkdir iron
</source>
 3. xbuildコマンドでビルドする。[[xbuild]]コマンドでビルドする。
デフォルトで警告をエラーとするTreatWarningsAsErrorsが有効になっているので無効化した状態でビルドする。
匿名利用者

案内メニュー