What is the difference between TigerJython and (Web)TigerPython?
The IDE and the project were originally created under the name
TigerJython. This is because we
used Jython to run Python programs with the
Java Virtual Machine. However, our focus is now on the browser-based
web version with Pyodide, so the reference to
Jython is outdated. Furthermore, it was not always clear that Jython is also
Python. Accordingly, we have changed the name to (Web)TigerPython.
What license does TigerJython / WebTigerPython use?
Our project includes a range of different products. The web version
WebTigerPython is licensed under the open source Mozilla Public License MPL
2.0, as is the Java-based version
TigerJython 3. Unfortunately, we were unable to make the older version TigerJython 2
available as open source in its entirety. However, an important core component, the
TigerPython parser, is also available under MPL 2.0.
Is TigerJython / WebTigerPython Being Actively Developed?
Yes, TigerJython and WebTigerPython are actively being developed, the former for
over ten years.
We are currently working intensively on WebTigerPython and are constantly implementing
new features. Since a simple interface and usability are central to us,
these new features are often not immediately visible. For example,
WebTigerPython now supports PyGame without this being directly visible.
In addition, the WebTigerPython parser, which we use to generate improved
error messages, also receives regular bug fixes and improvements.
TigerJython 3 is still used in many schools together with the online tutorials
“Programmierkonzepte.ch” and “TigerJython4Kids.ch.” The IDE also continues to be
supported and further developed in the field of robotics. However, TigerJython 2 relies
heavily on Jython, which is unfortunately outdated in terms of the Python
version. Modernizing the Jython-based versions would involve considerable
effort. Since we were approached primarily with the need for a web-based
solution, we decided to focus on the web version.
Who Is Behind TigerJython / WebTigerPython?
TigerJython was originally created and developed by Tobias Kohn,
Aegidius Plüss (†), and Jarka Arnold. Nicole Trachsler later developed the first
web version based on Skulpt.
The team has grown considerably since then, and WebTigerPython is primarily
an implementation by Clemens Bachmann under the guidance of Dennis Komm and
Tobias Kohn, while Jarka Arnold is responsible for the tutorials and support.
Responsibility for the project lies with the non-profit association TJ Group,
in close cooperation with the Chair of Algorithms and Didactics respectively
the Center for Computer Science Education at ETH Zurich and the
Chair of Computer Science and its Didactics at KIT.
Why gturtle And Not turtle?
Jython does not provide its own turtle library. Accordingly,
we had to find a Java-based alternative for TigerJython that we
could integrate. This was the Java Turtle library by
Aegidius Plüss. Due to various
differences in naming and implementation, we integrated this library
as gturtle (where the g stands for graphics).
At that time, in addition to the original turtle module from
Python 2, there was also an extended turtle xturtle, which became the
standard turtle in Python 3. So the idea of an alternative turtle module was
not new.
Due to the large amount of teaching materials and textbooks that have been
developed in the meantime, we have retained gturtle as a module, but also
provide an interface that is largely compatible with the standard module
turtle. Of course, the gturtle module is also subject to further
developments, some of which are didactic and some of which are technical. For
instance, makeTurtle() has been omitted in WebTigerPython, because, unlike the
Java version, there is no longer a window that needs to be created.
Further information is found in the blog article
“Programming Education Made in Switzerland”
from 2024.
What Are the APLU Libraries?
APLU refers to Aegidius Plüss (one of the founding fathers of TigerJython),
who wrote an extensive collection of Java libraries, including Turtle,
GPanel, and JGameGrid, which were then integrated into TigerJython. In the
documentation or in various repositories, these libraries are sometimes grouped
under the term APLU.