image image


Worknote: TigerJython, ein dritter Versuch

TigerJython ist als plattformübergreifende Python- oder exakter Jython-IDE für Programmiereinsteiger und sonstige »Literaten« (Python for Poets) konzipiert. Nachdem gestern das Wetter so miserabel war, daß es mich an den Laptop gefesselt hatte, hatte ich mal nachgeschaut, welche Updates es so für mich gibt. Und siehe da, TigerJython hatte im Januar dieses Jahres eine Update erhalten.

image

Ich hatte mich vor knapp vier Jahren schon einmal mit diesem Stück Software auseinandergesetzt und beklagt, daß – zumindest die Mac-Version – aufgrund der Java-Architektur zu häufigen Abstürzen neigte. Im letzten Jahr hatte ich zwar notiert , daß diese Abhängigkeit vom System-Java nun behoben sei und bei ersten Versuchen festgestellt, daß tatsächlich keine Abstürze mehr zu verzeichnen waren, aber dann das Teil dennoch aus den Augen verloren (ich hatte zuviel mit Processing.py und Pygame Zero zu spielen 🤓).

Gestern hatte ich aber wieder Lust, etwas mit TigerJython anzustellen. Dazu mußte ich erst einmal sehen, wie es zu meinem Programmierstil paßt. Denn einmal importiert die ansonsten ausgezeichnete Dokumentation1 alle Bibliotheken global und provoziert somit eine unter Umständen gefährliche Namensraumverschnutzung und zum anderen ist bei der Graphik-Bibliothek der Ursprung des Koordinatensystems links unten, statt wie allgemein üblich links oben.

Das erste war leicht zu beheben: Da die Dokumentation auch über eine (hoffentlich) vollständige Auflistung aller Methoden jeder mitgelieferten Bibliothek verfügte, konnte ich zum Beispiel mit

import gpanel as g

eine Namensraumverschmutzung vermeiden. Auch das zweite Problem ließ sich recht leicht beheben. Mit

WW = 300        # Fensterbreite
WH = 300        # Fensterhöhe

g.makeGPanel(g.Size(WW, WH))
g.window(0, WW, WH, 0)

wurde die y-Achse gespiegelt, so daß ich meine y-Koordinaten wie gewohnt von oben nach unten durchzählen konnte2.

Was mir sonst noch auffiel: Die Auswahl neuer Schriften ist etwas umständlich

myFont = g.Font("Courier New", g.Font.PLAIN, 32)
g.font(myFont)
g.text(10, 200, "Let's Do It!")

und die so eingesetzten Schriften erfahren auch keine Kantenglättung (Anti-Aliasing), sehen daher ziemlich verpixelt aus. Außerdem schreibt TigerJython – entgegen den üblichen Empfehlungen der Python Community (PEP 8) den Variablennamen im mixedCamelCase (auch lowerCamelCase genannt) statt des Unterstrichs. Aber das bin ich ja schon von Processing.py gewohnt und ist dem darunterliegendem Java geschuldet.

Ein großes Plus sind die mitgelieferten Module zur Turtle-Graphik, zur Graphik-Programmierung, zur Robotik und zur Spieleprogrammierung. Ich befürchte also, daß ich weiter mit TigerJython spielen werde und hoffe, die Zeit dafür zu finden. Still digging!

  1. Jarka Arnold, Tobias Kohn und Aegidius Plüss: Programmierkonzepte mit Python und der Lernumgebung TigerJython, zuletzt aktualisiert am 18. Dezember 2019, auch als PDF zum Download (503 Seiten, 16,8 MB) und Jarka Arnold: Grafik, Robotik, Datenbanken und Spielprogrammierung mit Python

  2. Mir ist unverständlich, wieso einige Leute auf die Idee kommen, daß es für Programmieranfänger einfacher sei, wenn der Ursprung des Koordinatensystems in der linken unteren Ecke liegt. Auch Paul Vincent Craven mit seiner Python Arcade Library ist diesem Irrtum aufgesessen. Spätestens dann, wenn diese armen Programmieranfänger mit »echten« Bibliotheken konfrontiert werden, müssen sie doch wieder umlernen. Und das fällt schwer, wenn man sich erst einmal an etwas anderes gewöhnt hat. 


(Kommentieren) 

image image



Über …

Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter Rentner, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!

Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.

Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.

Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.


Werbung


Werbung


image  image  image
image  image  image


image