TigerJython

FAQ

Hier finden Sie Antworten zu den wichtigsten Fragen rund um den aktuellen Stand und die Weiterentwicklung von TigerJython und WebTigerPython.

faq-illustration.svg

Was ist der Unterschied zwischen TigerJython und (Web)TigerPython?

Die Programmierumgebung und das Projekt entstanden ursprünglich unter dem Namen TigerJython. Das ist darauf zurückzuführen, dass wir Jython verwendet haben, um Python-Programme mit der Java Virtual Machine auszuführen. Inzwischen liegt unser Fokus aber auf der browserbasierten Web-Version mit Pyodide, so dass die Referenz auf Jython veraltet ist. Zudem war nicht immer klar, dass Jython ebenfalls Python ist. Entsprechend haben wir den Namen auf (Web)TigerPython angepasst.

Unter welcher Lizenz steht TigerJython / WebTigerPython?

Unser Projekt umfasst eine Reihe verschiedener Produkte. Die Web-Version WebTigerPython steht unter der open source Mozilla Public License MPL 2.0, ebenso wie die javabasierte Version TigerJython 3. Leider konnten wir die ältere Version TigerJython 2 nicht als Gesamtes open source zur Verfügung stellen. Allerdings ist mit dem TigerPython-Parser ein wichtiges Kernstück ebenfalls unter der MPL 2.0 verfügbar.

Wird TigerJython / WebTigerPython aktiv weiterentwickelt?

Ja, sowohl TigerJython als auch WebTigerPython werden aktiv weiterentwickelt, ersteres seit über zehn Jahren.

Zurzeit arbeiten wir intensiv an WebTigerPython und implementieren stetig neue Features. Weil uns eine einfache Oberfläche und Bedienung am Herzen liegen, sind diese neuen Features aber oft nicht direkt sichtbar. So unterstützt WebTigerPython inzwischen zum Beispiel PyGame, ohne dass dies direkt sichtbar wäre.

Daneben erfährt auch der WebTigerPython-Parser, mit dem wir verbesserte Fehlermeldungen erzeugen, regelmässig Bugfixes und Verbesserungen.

TigerJython 3 wird zusammen mit den Online-Tutorials «Programmierkonzepte.ch» und «TigerJython4Kids.ch» immer noch in vielen Schulen eingesetzt. Auch diese Programmierumgebung wird weiter unterstützt und im Bereich Robotik weiterentwickelt. TigerJython 2 stützt sich allerdings stark auf Jython, das in Bezug auf die Python-Version leider veraltet ist. Eine Modernisierung der jythonbasierten Versionen wäre mit erheblichem Aufwand verbunden. Da vor allem das Bedürfnis nach einer webbasierten Lösung an uns herangetragen wurde, haben wir daher beschlossen, uns auf die Web-Version zu konzentrieren.

Wer steht hinter TigerJython / WebTigerPython?

TigerJython wurde ursprünglich von Tobias Kohn, Aegidius Plüss (†) und Jarka Arnold kreiert und entwickelt. Nicole Trachsler hat dann später eine erste Web-Version geschrieben, die auf Skulpt basierte. Inzwischen ist das Team stark angewachsen und WebTigerPython ist in erster Linie eine Umsetzung von Clemens Bachmann unter der Leitung von Dennis Komm und Tobias Kohn, während Jarka Arnold die Tutorien und den Support verantwortet.

Die Verantwortung für das Projekt obliegt dem gemeinnützigen Verein TJ Group, in enger Kooperation mit der Professur für Algorithmen und Didaktik bzw. dem Ausbildungs- und Beratungszentrum für Informatikunterricht der ETH Zürich und der Professur für Informatik und ihre Didaktik des KIT.

Weitere Informationen finden Sie in einem Blog-Artikel «Programmierunterricht made in Switzerland» von 2024.

Wieso `gturtle` und nicht `turtle`?

Jython stellt keine eigene Turtle-Bibliothek zur Verfügung. Entsprechend mussten wir für TigerJython eine javabasierte Alternative finden, die wir einbinden konnten. Das war die Java-Turtle-Bibliothek von Aegidius Plüss. Aufgrund verschiedener Unterschiede in der Namensgebung und Implementierung haben wir diese Bibliothek als gturtle eingebunden (wobei das g für graphics steht).

Zum damaligen Zeitpunkt gab es neben dem ursprünglichen turtle-Modul von Python 2 auch eine erweiterte Turtle xturtle, die in Python 3 zur Standard-Turtle wurde. Die Idee eines alternativen Turtle-Moduls war also nicht neu.

Aufgrund der vielen Unterrichtsmaterialien und Lehrbücher, die inzwischen entstanden sind haben wir die gturtle als Modul beibehalten, stellen aber auch ein Interface zur Verfügung, das mit dem Standard-Modul turtle weitgehend kompatibel ist. Auch das gturtle-Modul unterliegt dabei natürlich Weiterentwicklungen, die teilweise didaktisch und teilweise technisch bedingt sind. Zum Beispiel ist das makeTurtle() in WebTigerPython weggefallen, weil es im Unterschied zur Java-Version kein Fenster mehr gibt, das erstellt werden müsste.

Was sind die `APLU`-Bibliotheken?

APLU bezieht sich auf Aegidius Plüss (einen der Gründungsväter von TigerJython), der eine umfangreiche Sammlung an Java-Bibliotheken geschrieben hat, unter anderem Turtle, GPanel und JGameGrid. Diese Java-Bibliotheken wurden dann in TigerJython integriert. In der Dokumentation oder in diversen Repositorys werden diese Bibliotheken manchmal unter dem Begriff APLU zusammengefasst.