Jython ( 1999年まではJPythonと呼ばれていた) [ 3 ]は、 JavaプラットフォームのJava仮想マシン上で動作するように設計されたプログラミング言語Pythonの実装です。これは、 Python Software Foundationライセンスでリリースされた無料のオープンソースソフトウェアです。
Jython プログラムは、任意の Java クラスをインポートして使用できます。一部の標準モジュールを除き、Jython プログラムは Python モジュールの代わりに Java クラスを使用します。Jython には、標準の Python 言語ディストリビューションに含まれるほぼすべてのモジュールが含まれており、元々C 言語で実装された一部のモジュールのみが欠けています。また、 Java クラスライブラリなどの Java クラスを呼び出すことができます。たとえば、 Jython のユーザー インターフェイスは、 Swing、Abstract Window Toolkit (AWT)、またはStandard Widget Toolkit (SWT)を使用して記述できます。Jython は、必要に応じて、または静的に、Pythonソース コードをJava バイト コード(中間表現)にコンパイルします。
from java.io import FileWriter from java.lang import System from java.util import Date# 現在の日付とシステム情報を書き出すmessage = "Run on " + str ( Date ()) + " by Java " + System . getProperty ( "java.version" ) FileWriter ( "sys_info.txt" ) . append ( message ) . close ()メッセージを印刷するJythonはスレッドをJavaスレッドに直接マッピングするため、標準Pythonが使用するグローバルなインタプリタロックを回避します。
Jython は Java の型システムやジェネリクスを利用できません。Jython は主に、Java API の戻り型を Jython の内部型にアンボックスするためにプリミティブ ラッパー クラスを使用します。[ 4 ]
Jythonは、Pythonプログラムからアクセスされるパフォーマンス重視のコードにおいて、C言語をJavaに置き換える目的で1997年後半に最初に作成されました。2000年10月にSourceForgeに移行しました。Python Software Foundationは2005年1月に助成金を授与しました。Jython 2.5は2009年6月にリリースされました。[ 5 ]
最新リリースは Jython 2.7.4 です。2024 年 8 月 18 日にリリースされ、Python 2.7 と互換性があります。[ 6 ]
Jython 3 ロードマップでは、Python 3 との互換性に関する変更が計画されています。[ 7 ]
JythonはPython言語仕様を実装していますが、Pythonのリファレンス実装であるCPythonとはいくつかの相違点や非互換性があります。 [ 8 ] [ 9 ]
バージョン2.2以降、Jython(標準ライブラリを含む)はPython Software Foundation License (v2)の下でリリースされています。それ以前のバージョンは、Jython 2.0、2.1ライセンスおよびJPython 1.1.xソフトウェアライセンスの対象となります。[ 10 ]
コマンドラインインターフェースインタープリタは、 Apacheソフトウェアライセンスの下で利用可能です。