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, TigerJython und WebTigerPython werden aktiv weiterentwickelt, ersteres seit
über zehn Jahren.
Zurzeit Wir 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 weiterentwicklt.
Die javabasierten Umgebungen sind hingegen ziemlich inaktiv.
TigerJython 2 stützt sich stark auf Jython, das in Bezug auf die Python-Version
leider stark veraltet ist. Eine Modernisierung der jythonbasierten
Versionen wäre mit erheblichem Aufwand verbunden und ein mittel- bis
längerfristiges Projekt. 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 JTurtle, 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.