Jython
開発元 | Jim Hugunin(初代)とJythonコミュニティ(以後) |
---|---|
最新版 |
2.7.2
/ 2020年3月 |
リポジトリ | |
対応OS | 各種 |
プラットフォーム | Java仮想マシン |
種別 | Pythonインタプリタ |
ライセンス | Python Software Foundation License version 2 |
公式サイト | http://www.jython.org/ |
Jython(旧称JPython)は、プログラミング言語PythonのJavaで書かれた実装である。Jim Huguninによって開発が始められた。
概要
[編集]JythonプログラムはあらゆるJavaのクラスをシームレスにインポートできる。例えば、JavaのGUIライブラリであるSwing、AWT、SWTなどを使って書くことができる。また、逆にPythonでJavaプログラムから使うクラスを実装することも可能である。JythonはJavaバイトコードにコンパイルされて作動するが、これは動的にも静的にも可能である。
一部の標準モジュールを除いては、JythonのプログラムはPythonモジュールの代わりにJavaのクラスを使っている。Jythonはほぼ全てのPython標準のライブラリを含んでいるが、C言語で実装された一部ライブラリは除外されている。
ライセンス
[編集]Jythonは、現在は制約の緩いフリーソフトウェアライセンスであるPython Software Foundation Licenseのもとでリリースされている。 Jython2.0,2.1のライセンスは独自だが、制約の緩いフリーソフトウェアライセンスである。 JPython 1.1.xのライセンスも制約の緩いフリーソフトウェアライセンスであると考えられるが、内容が複雑であり、フリーソフトウェア財団やオープンソース・イニシアティブの査読やコメントも無いため明確ではない。
歴史
[編集]Jim Huguninが開発を1997年に始め、1999年まで開発を続けた。1999年2月に第一開発者がBarry Warsawに変わった。2000年10月にはSourceForge上で開発されるようになった。以来、長年、Samuel PedroniがJythonの保守/開発を担ってきた。2004年末にSamuel PedroniはPyPyに集中するため第一開発者からは退いたのだが、依然彼の発言はJython開発コミュニティにて最も権威あるものと考えられている。2005年1月にはBrian ZimmerがPythonソフトウェア財団から開発続行のための補助金を受けている。2005年12月には第一開発者がFrank WierzbickiからBrian Zimmerに譲られる。2005年頃はJythonの開発は続いたものの、知識とJythonに掛けられる時間のある開発者を確保できなかったため、開発は遅くなってしまった。現在も開発は着実に続けられている。
現状とロードマップ
[編集]現在のリリースはJython-2.5で、Javaとの統合が更に図られた他、CPythonの2.5相当の機能を実装している。(Jythonロードマップを参照のこと)。
用例
[編集]- WebSphere Application Server - Jaclとともにスクリプト言語として使用されている
関連プロジェクト
[編集]- Groovy - Java仮想マシンでの作動を前提とする独自の動的言語
- Jacl - JavaによるTclの実装
- JRuby - JavaによるRubyの実装
- IronPython - .NET/Mono向けのPython実装。Jythonを作ったJim Huguninによって開発が始められた。
外部リンク
[編集]- Jython ホームページ
- Jython Sourceforge Page
- differences between CPython and Jython
- Charming Jython: Learn how the Java implementation of Python can aid your development efforts
- Get to know Jython
- Learn how to write DB2 JDBC tools in Jython
- Tips for Scripting Java with Jython
- Jython tips for Python programmers
- Jython license information
- Scripting on the Java platform