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
JVM. 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? Is It Open Source?
Our project includes a range of different products. The web version
WebTigerPython is licensed under the 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. The Java-based
environments, on the other hand, are fairly inactive. TigerJython 2 relies
heavily on Jython, which is unfortunately very outdated in terms of the Python
version. Modernizing the Java-based versions would involve considerable effort
and be a medium to long-term project. 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 direction 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 and the
Training and Consulting 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. The gturtle module is, of course, also subject to Of course, the
gturtle module is also subject to further developments, some of which are
didactic and some of which are technical. For example, makeTurtle() has been
omitted in WebTigerPython, because, unlike the Java version, there is no longer
a window that needs to be created.
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 JTurtle, 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.