Suche
"Beautiful is better than ugly"

Jython – Python in der Java-Welt [Pirates of the JVM]

Redaktion JAXenter

Weiter geht’s auf unserer Reise durch die Welt der Pirates of the JVM. Heutige Station: Jython. Hier trifft Altbekanntes auf Fremdes – denn Java-Seeleute ließen sich von der Python verführen …

In der stürmischen See der dynamischen JVM-Sprachen stoßen mutige Piraten auf Jython. Entstanden dort, wo die Java-Platte auf die tektonische Platte der Python-Länder trifft, wird die Insel vor allem von Abenteurern besiedelt, die sich für die Vorteile beider Kulturen begeistern. Denn nicht nur unter dem Meeresspiegel, auch darüber haben die Siedler sich von den Vorzügen der verschiedenen Einflüsse verführen lassen.

Pirates of the JVM – das Gewinnspiel

Auf der Infografik „Pirates of the JVM“ tummeln sich so manche JVM-Piraten – erkennen Sie welche? Dann wird es Ihnen nicht schwer fallen, das untere Rätsel zu lösen!

Zu gewinnen gibt es:

  1. Preis: Das Video-Tutorial „Microservices“ von entwickler.tutorials.de
  2. Preis: Buch: IT Survival Guide 3. Auflage
  3. Preis: 1 Magazin digital – freie Auswahl im Kiosk

Einfach die Namen der gesuchten Personen in die Kästchen eintragen und das Lösungswort in der roten Vertikalen hier an uns schicken!

Tipp: Schauen Sie zur Lösung des Rätsels doch ab und zu auf die komplette Infografik…

Klick auf die Karte für die komplette Infografik.

Jython – das Python für die Java-Plattform

JAXenter: Hallo Frank! Du bist der Projektleiter von Jython. Wie bist zu der Programmiersprache gekommen?

Frank Wierzbicki: Die meiste Zeit meiner Karriere habe ich mit Java gearbeitet und gleichzeitig bin ich ein großer Fan der Python-Sprache. Jython ist eine Implementierung von Python, die auf der JVM läuft. Ich habe angefangen, daran zu arbeiten, um mehr Python in meinen Hauptberuf zu bringen und bin wegen der großartigen Community auch geblieben.

JAXenter: Kannst du die Kernprinzipien der Sprache darlegen?

Frank Wierzbicki: Jython ist eine originalgetreue Implementierung von Python. Die Sprache wurde ja schon lange bevor ich dazugestoßen bin entwickelt. Eine gute Zusammenfassung der Design-Prinzipien von Python (sowie der Jython-Implementierung übrigens auch) ist das „Zen of Python“, das man erhält, wenn man Import This in den Python- oder Jython-Interpreter eingibt:

 
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

JAXenter: Wie würde ein typisches Programm mit Jython aussehen?

Frank Wierzbicki: Indentation ist wichtiges Merkmal von Jython, denn die Code-Blöcke sind immer leicht zu erkennen. Der eigentliche Grund, der Jython zu einer interessanten Implementierung von Python werden lässt, ist aber, dass Java Libraries importiert und benutzt werden können, als wären sie in Python geschrieben. Im nachfolgenden Code-Beispiel  werden javax.swing-Komponenten aufgerufen:

 
from javax.swing import JButton, JFrame

frame = JFrame('Hello, Jython!',
            defaultCloseOperation = JFrame.EXIT_ON_CLOSE,
            size = (300, 300)
        )

def change_text(event):
    print 'Clicked!'

button = JButton('Click Me!', actionPerformed=change_text)
frame.add(button)

Das entsprechende Java-Programm ist dreimal so lang.

JAXenter: Für welche Art von Anwendungen / Use Cases eignet sich Jython besonders gut? Für welche eher weniger?

Frank Wierzbicki: Jython ist eine gute Wahl, wenn man mit Libraries und Frameworks sowohl aus dem Java- als auch dem Python-Ökosystem gleichzeitig arbeiten will. Um ein Beispiel zu nennen, könnten Entwickler Django als eine Web-Entwicklungsplattform nutzen, während sie gleichzeitig Java Libraries aufrufen, die von einem anderen Team geschrieben werden, dass es eben bevorzugt, in Java zu entwickeln. Jython wäre keine so gute Wahl, wenn ein Entwickler-Team durchgängig bei einer einzigen Sprache bleiben will.

JAXenter: Wie ist der derzeitige Status Quo der Sprache?

Frank Wierzbicki: Jython ist im Moment im Release 2.7.0, das die Features von Python 2.7.x implementiert. Wir planen, 2.7.1 relativ bald zu veröffentlichen, aber wir haben noch nicht das genaue Datum.

JAXenter: Welche Pläne hast du für die Zukunft?

Frank Wierzbicki: Wir möchten weiterhin Updates für die 2.7.x-Serie von Python veröffentlichen. Langfristig wollen wir eine 3.x-Version veröffentlichen, aber das ist ein langwieriger Prozess, weil es eine große Menge an Veränderungen in der 3.x-Serie gab.

JAXenter: Wie steigt man am besten in die Arbeit mit Jython ein?

Frank Wierzbicki: Um ein Nutzer von Jython zu werden, könnte man sich auf unsere Website informieren. Es gibt außerdem das Jython-Buch „The Definitive Guide to Jython“, das online verfügbar ist. Hier findet man es auch in Papierform.

Frank Wierzbicki ist Jython Project Lead, PSF member, und würde sich selbst als Programming Language Collector bezeichnen.

Die Pirates of the JVM

Gehen wir auf Schatzsuche! In der Infografik „Pirates of the JVM“ verbirgt sich so manches Programmiersprachen-Juwel, das inspirierte Entwickler auf der Java-Plattform für sich entdecken werden. Doch sehen Sie selbst…

Haben Sie Lust auf Schatzsuche zu gehen? In unserem Gewinnspiel „Pirates of the JVM“ ist Ihr Rätseltalent gefragt. Belohnt werden Sie mit 3 tollen Preisen…

PIRATES OF THE JVM – DAS GEWINNSPIEL

Piratenflagge via Shutterstock.com / katyam1983

Geschrieben von
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.