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.