Jython (旧称: JPython) について
Jythonは、プログラミング言語
Pythonの
Javaによる実装です。かつてはJ
Pythonと呼ばれていました。このプロジェクトは、Jim Huguninによって開始されました。Jythonの最大の特徴は、
Javaのクラスを
Pythonプログラムからシームレスに利用できる点にあります。これにより、
Javaの豊富なライブラリやフレームワークを
Pythonの柔軟性と組み合わせて活用することが可能になります。
概要
Jythonプログラムは、
Javaのクラスを直接インポートして利用できます。例えば、
Swing、AWT、SWTといった
JavaのGUIライブラリを使ってGUIアプリケーションを開発することが可能です。また、逆に
Javaプログラムから
Pythonで書かれたクラスを呼び出すこともできます。Jythonは、
Javaバイトコードにコンパイルされて実行されますが、このコンパイルは動的にも静的にも行うことができます。
標準モジュールの一部を除き、Jythonは
Pythonのモジュールの代わりに
Javaのクラスを使用します。Jythonは、
Pythonの標準ライブラリのほとんどをサポートしていますが、C言語で実装されている一部のライブラリは含まれていません。これにより、Jythonは
Javaの豊富なエコシステムと
Pythonの生産性を両立させることができます。
Jythonは現在、
Python Software Foundation Licenseという制約の緩いフリーソフトウェア
ライセンスの下で配布されています。これは、Jythonを自由に利用、変更、配布できることを意味します。
過去のバージョンであるJython 2.0および2.1も、独自の
ライセンスではありましたが、同様に制約の緩いフリーソフトウェア
ライセンスでした。J
Python 1.1.xの
ライセンスも同様に考えられていますが、その内容が複雑であるため、
フリーソフトウェア財団やオープンソース・イニシアティブによる査読やコメントはされていません。
歴史
Jythonの開発は、1997年にJim Huguninによって始まり、1999年まで彼が主導しました。1999年2月には、Barry Warsawが第一開発者となりました。2000年10月には、開発はSourceForge上でオープンソースプロジェクトとして進められるようになりました。
その後、長年にわたりSamuel PedroniがJythonの保守と開発を担ってきました。2004年末にPedroniは
PyPyプロジェクトに集中するために第一開発者から退きましたが、Jythonコミュニティでは彼の意見が依然として最も尊重されています。2005年1月には、Brian Zimmerが
Pythonソフトウェア財団から開発継続のための補助金を受けました。2005年12月には、第一開発者の役割がFrank WierzbickiからBrian Zimmerに引き継がれました。2005年頃、Jythonの開発は進められましたが、知識と時間を持ち合わせた開発者の確保が難しく、開発速度は遅くなっていました。
現在も、Jythonの開発は着実に進められています。
現状とロードマップ
現在のJythonの最新リリースはJython-2.5であり、
Javaとの統合がさらに強化され、
C[[Python]] 2.5相当の機能が実装されています。詳細については、Jythonのロードマップを参照してください。
用例
Jythonは、WebSphere Application Serverでスクリプト言語として利用されることがあります。特にJacl(
Javaによる
Tclの実装)とともに使用されることが多いです。これにより、
Java EE環境でのスクリプティングが容易になります。
関連プロジェクト
以下は、Jythonと関連するプロジェクトです。
Groovy: Java仮想マシンで動作する動的言語で、Javaとの親和性が高いです。
Jacl:
Javaで実装された
Tclで、Jythonと同様に
Java環境でのスクリプティングに利用されます。
J[[Ruby]]: Javaで実装されたRubyで、Jythonと同様にJavaプラットフォーム上でRubyを実行できます。
IronPython:
.NET/Mono向けの
Python実装で、Jythonを開発したJim Huguninが関わっています。
外部リンク
Jython ホームページ
Jython Sourceforge Page
C[[Python]]とJythonの違い
Charming Jython: Javaによる
Pythonの実装が開発にどのように役立つか
Jythonを知る
JythonでDB2 JDBCツールを書く方法
JythonでJavaをスクリプト化するためのヒント
Pythonプログラマー向けのJythonのヒント
Jythonのライセンス情報
Javaプラットフォームでのスクリプティング