「IronPython」の版間の差分
編集の要約なし |
|||
39行目: | 39行目: | ||
=== Hello, World === |
=== Hello, World === |
||
CPythonの機能と.NET Frameworkの機能を併用する例を示す。 |
CPythonの機能と.NET Frameworkの機能を併用する例を示す。 |
||
< |
<syntaxhighlight lang="python"> |
||
# -*- coding: utf-8 -*- |
# -*- coding: utf-8 -*- |
||
# CPython 2.x の組み込み命令を使って標準出力する。 |
# CPython 2.x の組み込み命令を使って標準出力する。 |
||
46行目: | 46行目: | ||
import System |
import System |
||
System.Console.WriteLine('{0}, {1}, {2}', 10 * 10, 2 + .3, '"Hello, IronPython"') |
System.Console.WriteLine('{0}, {1}, {2}', 10 * 10, 2 + .3, '"Hello, IronPython"') |
||
</syntaxhighlight> |
|||
</source> |
|||
==脚注== |
==脚注== |
2020年7月5日 (日) 22:47時点における版
パラダイム | マルチパラダイム |
---|---|
登場時期 | 2006年 |
開発者 | Jim Hugunin |
最新リリース | 2.7.9 (Python 2.7.x) / 2018年10月9日 |
型付け | ダック・タイピング |
プラットフォーム | .NET Framework, Mono |
ライセンス | Apache License |
ウェブサイト |
http://www.ironpython.net/
|
IronPythonとは、.NET FrameworkおよびMono上で動作するPythonの実装である。Jim Huguninによって開発が進められ、2006年9月5日に初版がリリースされた。バージョン1.x系のIronPythonはPython 2.4.3と互換している。IronPython 2.7はPython 2.7互換である[1]。
.NET Frameworkの持つ豊富なクラスライブラリをPythonの文法でシームレスに利用できるだけでなく、従来のPython(CPython)のコード資産さえもある程度そのまま利用できることが特徴である。また、.NETの実行環境に対応した各種ツールが、そのまま利用できる点もメリットといえる。
もともとPythonはスクリプト言語であるが、IronPythonコンパイラサービスによって.NETアセンブリにコンパイルすることも可能である。これは、スクリプト言語として利用する場合はバイトコードに動的コンパイルし、アセンブリの場合は、それが事前コンパイルされたものと考えることができる。
IronPython自身はC#で実装されている。
開発の歴史
IronPythonの起源は、「CLIの設計は動的言語との相性が悪い」という.NET Frameworkの問題点を検証するために作成された検証用のプロトタイプであった。IronPythonの作者であるJim Huguninは2003年に、この論文を発表した。その後、「何故、.NET Frameworkは動的言語として駄目なプラットフォームなのか?」という短い論文を書くために、Pythonの移植を試みたところ、彼の意に反して良く動くものができてしまった。そこで、彼は開発を継続することとし、Open Source Conference 2004 でIronPython 0.6をCommon Public Licenseでリリースした。2003年の論文が間違いであったことを、彼自身の手で証明したことになる。
その後、Jim Huguninはマイクロソフトに合流してIronPythonの開発を継続、.NET Framework 2.0に対応したバージョンを作成し、現在ではShared Source Licensing Programとしてリリースしている。
現在の最新版であるIronPython 2.x系列は.NET 4に対応し、DLR(動的言語ランタイム)上に実装されている。なお、IronPython 2.7までは、対話環境であるIronPython Interactiveや、IronPython用の各種プロジェクト テンプレートをVisual Studio 2010に統合する"IronPython Tools for Visual Studio"がインストーラに含まれていたが[2]、2.7.1以降は"Python Tools for Visual Studio" (PTVS) への将来的な移行を見越して、"IronPython Tools~"は廃止されている[3]。PTVS 2.2はVisual Studio 2013と2015に対応する[4]。Visual Studio 2015のインストーラーには、PTVSをインストールするオプションが正式に含まれている。
2018年12月現在、Python 3.xをサポートするためのIronPython 3が開発中である。IronPython 3は.NET 4.5と.NET Core 2.0/2.1をターゲットにしている。
コード例
Hello, World
CPythonの機能と.NET Frameworkの機能を併用する例を示す。
# -*- coding: utf-8 -*-
# CPython 2.x の組み込み命令を使って標準出力する。
print '%d, %f, %s' % (10 * 10, 2 + .3, '"Hello, CPython"')
# .NET Framework の基本クラスライブラリを使って標準出力する。
import System
System.Console.WriteLine('{0}, {1}, {2}', 10 * 10, 2 + .3, '"Hello, IronPython"')
脚注
- ^ IronPython.net / Documentation
- ^ “RELEASE NOTES IronPython”. CodePlex (Mar 13, 2011). 2015年7月1日閲覧。
- ^ “RELEASE NOTES IronPython”. CodePlex (Oct 22, 2011). 2015年7月1日閲覧。
- ^ 「Visual Studio 2015」に対応した「Python Tools for Visual Studio 2.2」が正式版に - 窓の杜