Hledání odpovědi na otázku "Co je to Jython?", nás zcela automaticky přivede k programovacímu jazyku Python, jehož autorem je C.Guido Van Rosum.

Python je interpretovaný, interaktivní, objektově orientovaný programovací jazyk. Je často přirovnáván k nástrojům, jako jsou např. Perl, Tcl, Lisp, Java. Kombinuje v sobě vysokou efektivitu s krystalicky čistou syntaxí. Je možné ho používat jak k psaní malých jednoúčelových nástrojů, tak pro skutečně velké projekty. Implementace Pythonu je přenositelná na mnoho platforem (UNIX, Windows, DOS, OS/2, Mac, ... atd.) a je volně šiřitelná, dokonce i pro komerční účely. Přesto ....

Přesto tomu něco chybí. Při psaní, jak malých jednoúčelových aplikací, tak středních či velkých programů, programátoři občas pociťují potřebu využívat již hotové nástroje, které jsou implementovány, jako naschvál, v jiném prostředí, či pomocí jiného programovacího jazyka, než zrovna používají. Toto spojování různých nástrojů pak obecně naráží na různé problémy.

Odpověď na tuto výzvu je projekt, s jehož výsledkem se nyní setkáváme - Jython.

Jython je hybrid. Je to implementace skriptovacího jazyka Python, napsaná v 100% čisté Javě, která je použitelná v prostředí libovolného virtuálního stroje JVM (Java Virtual Machine). V prostředí Jythonu můžete psát programy, které mohou jednoduše komunikovat s kódem napsaným v Javě.

Co budete potřebovat

Pro experimentování a zkoušení příkladů, které jsou uvedeny v této knize, potřebujete:

  • Instalaci run-time Java JVM, verze alespoň 1.4.2 (pro práci v Jythonu to stačí pokud nechcete psát moduly v Javě),
  • Instalaci Jythonu, ve verzi alespoň 2.0. Jython je volně stažitelný z adresy http://www.jython.org.

K čemu je Jython dobrý

K čemu je vlastně Jython dobrý? Proč používat Jython, když už tady jednou máme Javu, a Jython je vlastně jen jiná Java?

Nepochybně Java je mocný a robustní programovací prostředek, který má své opodstatnění. Ale poměrně často nastávají okamžiky, kdy je robustnost překážkou. V situaci, kdy potřebujete napsat malý, jednoúčelový program, či utilitu, která má řešit určitý problém, Java selhává. Je příliš těžkopádná. To jsou situace, kde excelují právě skriptovací jazyky. Bez velkých okolků jdou přímo k jádru věci. A Jython je platformově nezávislý skriptovací jazyk. Skripty, které napíšete, můžete spouštět všude, kde máte nainstalován JVM.

Pomocí těchto skriptů je možné vytvářet jednoduché i komplikované administrátorské nástroje. Zpracovávat různé formáty dokumentů, přistupovat k relačním databázím.

Další velikou oblastí, kde je Jython použitelný, je oblast Internetu. V Jythonu je možné psát poměrně velmi jednoduše servlety, zpracovávat soubory ve formátu XML, atd.

Jython vám umožní i jinou věc. Představte si, že píšete nějaký program v Javě, a potřebujete řešit problém, který jste již jednou vyřešili, ale v Jythonu. Nic nemusíte znova přepisovat. Jython je vlastně 100% Java, je proto možné, bez velkého úsilí, zakomponovat již existující kód do vašeho programu tím, že existující modul napsaný v Jythonu zkompilujete a naimportujete tento modul do vašeho programu.

Základní rysy Jythonu

Udělejme si shrnutí základních vlastností Jythonu.

Jasná, jednoduchá, snadno čitelná syntaxe

Syntaxe Jythonu se velmi podobá způsobu, jakým se zapisují kousky kódu, když chcete někomu sdělit určitou myšlenku, či postup. Jython používá zarovnání pro vyjádření jednotlivých úseků kódu, což vede k jeho čitelnosti. Způsob zápisu programu není tedy věcí programátorského stylu autora, ale věcí syntaxe.

Interaktivní interpret jazyka

Zabudovaný interaktivní interpret jazyka umožňuje jednoduše experimentovat s úryvky programů, zkoušet jaké vlastnosti mají komponenty jednotlivých knihoven, ať již napsaných v Jythonu či v Javě.

Organizace rozsáhlých projektů do znova využitelných modulů

V Jythonu je možné jednotlivé programy organizovat do malých modulů, které lze znovu využít i v jiných modulech. Tyto moduly mohou obsahovat jak vlastní programy, tak pouze informace používané k vlastní organizaci modulů do různých knihoven.

Jednoduchá objektově orientovaná sémantika

Jython je objektově orientovaný nástroj. Umožňuje vám psát programy s využitím objektově orientovaného přístupu, ale nenutí vás k tomu. V Jythonu lze použít i styly vlastní funkcionálnímu programování (jako například v Lispu,...). Třídy, instance, moduly a funkce využívají týž jednoduchý koncept jmenných prostorů a mapování mezi názvy proměnných a jejich hodnotami.

Vynechaná kompilační fáze.

Na rozdíl od Javy, není nutné zdrojový kód explicitně kompilovat, aby byl spustitelný. To zvyšuje programátorskou efektivitu.

Všechny tyto výhody žádným způsobem neomezují schopnost integrace programů napsaných v Jythonu do Javy. Každý modul je možné zkompilovat do souboru typu .class či .jar a tyto distribuovat jako jiné kompilované Java produkty.