Die Geschichte von EUKLID DynaGeo

(von Roland Mechling)


Bisher habe ich zur Geschichte des Projekts "EUKLID DynaGeo" wenig veröffentlicht, weil ich mit privaten Details niemanden langweilen wollte. Die EUKLID DynaGeo - Seiten sollten Informationen bieten, keine Geschichten. Inzwischen erreichen mich jedoch regelmäßig Anfragen zu genau diesen Details. Um den Neugierigen einige Einblicke zu bieten, schreibe ich hier nun auf, was mir mitteilenswert erscheint.

Meine eigene Auseinandersetzung mit dem Computer begann erst spät. Mein Studium (an der TH Karlsruhe, Mathematik und Physik für das Lehramt an Gymnasien) in den 70er Jahren verlief noch nahezu vollständig "computerfrei". Nicht dass ich ein Technikfeind gewesen wäre: mein Hobby war die Elektronik, aber mein Herz gehörte der "analogen" Welt der Verstärker und Filter, nicht der "digitalen" der "μ-Prozessoren". Den ersten Kontakt mit einem Computer hatte ich 1981: nach dem Ende meines Referendariats wurde ich ans Oken-Gymnasium in Offenburg versetzt, und dort gab es einen(!) Computer. Moderne Menschen würden das Ungetüm heutzutage gar nicht mehr als einen Computer (an)erkennen: statt eines Bildschirms gab es über der Tastatur einen Drucker(!), und zur visuellen Kontrolle der eingegebenen Zeichen hatte man sich mit einem kurzen, einzeiligen Display zu begnügen. Aber man konnte programmieren (in "BASIC"), und der Informatik-Gott des Oken-Gymnasiums, Herr Schlessmann, hatte als Ausgabegerät sogar einen Plotter angeschafft, so dass der Produktion schöner Bilder nichts mehr im Wege stand!

In der zweiten Hälfte der 80er Jahre wurden dann die ersten PCs an meiner Schule angeschafft und in zahlreichen Informatik-AGs eingesetzt. Die "BASIC"-Ära wurde von der "Turbo Pascal"-Ära abgelöst, und 1986 erschien die erste Version von "Windows" - was zunächst von kaum jemandem ernst genommen wurde: das war wieder eines dieser DOS-Addons, an die man sich zwischenzeitlich schon gewöhnt hatte. Spätestens mit Windows 3.1 begann dann der Siegeszug dieses "DOS-Tools", das sich in der Folgezeit zum Standard-Betriebssystem für PCs mausern sollte. Auch für die Programmmierung unter und für Windows wurden nun Sprachen implementiert, wie z.B. Anfang der 90er Jahre das legendäre "Turbo Pascal für Windows". Dieses Entwicklungssystem war eines der ersten, in dem die strikte Trennung zwischen Oberfläche und Funktionalität des zu erstellenden Programms realisiert war: die Programm-Oberfläche wurden in einem visuellen "Ressourcen-Editor" grafisch hergestellt, die Funktionalität hingegen kam erst später hinzu, und zwar indem in einem "normalen" Texteditor ein entsprechender Programmquelltext einzugeben war, wie das die Programmierer ja schon immer gemacht hatten. Die Verdrahtung zwischen diesen beiden Teilen des Programms musste jedoch weitgehend vom Programmierer geleistet werden, und dazu waren profunde Kenntnisse der Arbeitsweise von Windows nötig: wer mit "TPW" programmieren wollte, musste die Windows-API von der Pike auf kennen(lernen) ;-)

Auch in den Mathematik-Unterricht hielt der Computer Einzug: großer Beliebtheit erfreute sich damals ein Geometrieprogramm namens "Cabri", das von der Universität Genf unter der Federführung von Herrn Prof. Laborde erstellt worden war. Mit diesem Programm konnte man nicht nur Konstruktionen auf dem Bildschirm durchführen, sondern diese auch nachträglich noch verändern, indem man Punkte mit der Maus über den Bildschirm zog. Leider gab es dieses Programm Anfang der 90er Jahre nur in einer DOS-Version, nicht jedoch für Windows. Damals war ich Mitglied einer Gruppe von Lehrern, die sich um Informatik-Fortbildungen kümmerte. Im Januar 1994 veranstaltete einer aus dieser Gruppe, nämlich Herr Dr. Klaus Heidler, eine eintägige "interne" Fortbildung für uns, in der er eine Einführung in die "Objekt-orientierte Programmierung" gab. Diese Veranstaltung war der eigentliche Beginn des Projektes "EUKLID": auf dem Heimweg überlegte ich mir, dass diese neuen "Objekte" eigentlich genau die Strukturen sein könnten, die in Cabri zur Modellierung einer geometrischen Konstruktion benutzt wurden. Und ich träumte so vor mich hin, dass es doch ganz nett wäre, wenn man die Funktionalität von "Cabri" mit diesen Mitteln auch unter Windows zur Verfügung stellen würde. Daheim setzte ich mich an meinen Computer, startete Windows 3.11 und mein "Turbo Pascal für Windows 1.5" und klickte innerhalb von einer knappen Stunde die Oberfläche eines Windows-Programms zusammen, das so aussah wie ich mir "Cabri" unter Windows vorgestellt hätte.

Es dauerte dann schon ein wenig länger, dieser funktional leeren Hülle wirklich Leben einzuhauchen. Sehr bald erfuhr ich, dass Windows-Programmierung ein hartes Brot ist. Aber in der damaligen Zeit hatten die Computerprogramme allesamt eine ganz tolle Eigenschaft: es gab gedruckte Handbücher, die wirklich umfassend über alle(!) Details des jeweiligen Programms informierten! Das ist einer der Punkte, an denen grauhaarige Computer-Opas immmer wieder anfangen, von der guten alten Zeit zu schwärmen: durch ein hinreichend gründliches Studium des Handbuchs konnten nahezu alle (technischen) Programmierprobleme gelöst werden. Und für die inhaltlichen Aspekte, also die zu implementierende analytische Geometrie, war ich ja Mathelehrer! So machte ich mich an die Arbeit, und nach und nach wurden die einzelnen Menüpunkte der Oberfläche mit Pascal-Code hinterfüttert.

Erste Testexemplare des Programms gab ich an ausgesuchte Kollegen (z.B. Herrn Walter Hupfeld, Frau Monika Schwarze, Herrn Werner Pohl,...). Um auch die Mathematik-Didaktiker auf mein Programm aufmerksam zu machen, sandte ich ein Testexemplar an Herrn Dr. Wolfgang Henn, der es dann an einige seiner Kollegen (z.B. an Dr. Thomas Weth) weitergab. Ich staunte, wie schnell das Programm in der Szene bekannt wurde. Die Reaktionen waren durchweg ermutigend, wobei typischerweise mit den positven und aufmunternden Kommentaren auch gleich eine Liste mit gewünschten Verbesserungen und Ergänzungen übermittelt wurde. (Daran hat sich bis zum heutigen Tage nichts geändert: jeder, der EUKLID DynaGeo in die Hand nimmt, hat auch gleich eine Idee, wie man's noch verbessern könnte.) Am 04. November 1994 erblickte dann "EUKLID 1.0" das Licht der Öffentlichkeit. Noch im Dezember nahm Hans-Jürgen Elschenbroich Kontakt mit mir auf, ein Kollege aus NRW, der dort in der Lehrerfortbildung tätig war. Er sollte sich in der Folgezeit als einer der aufmerksamsten Mentoren für das "EUKLID"-Projekt erweisen. Seine stets konstruktive, aber gelegentlich auch kategorische Kritik habe ich schätzen und fürchten gelernt. Noch heute fällt es mir schwer, mich gegen seine Verbesserungsvorschläge zur Wehr zu setzen ;-) Die EUKLID DynaGeo - Benutzer verdanken ihm einiges!

Aus dieser Zeit des ersten Aufbruchs stammen natürlich auch einige Fehlentscheidungen, unter denen ich in späteren Zeiten ziemlich zu leiden hatte. Zum Beispiel hatte ich EUKLID zunächst nur als Programm zur affinen Geometrie gedacht: ich wollte ausdrücklich alle metrischen Aspekte außen vor lassen. Vor diesem Hintergrund verzichtete ich auf die Implementierung eines Koordinatensystems und rechnete intern munter im von IBM deklarierten Pixel-Koordinatensystem des Fensters. Das Koordinatensystem kam erst im Dezember 1995 mit der Version 1.3 hinzu, nachdem zuvor eine kontext-sensitive Hilfe (Version 1.1, noch 1994!) und eine Werkzeugleiste (Version 1.2, Februar 1995) für mehr User-Komfort gesorgt hatten. Das ist wohl eine der bittersten Erfahrungen eines Programmierers, dass man Fehler zwar messerscharf im Rückblick diagnostizieren kann, es jedoch andererseits selten gelingt, dass man sie in kluger Vorschau kommen sieht und sie dadurch vermeiden kann. Und der ganze UML-Aufwand, der zwischenzeitlich als Allheilmittel dagegen gepredigt wurde, ist letztendlich auch keine Versicherung gegen einen zu engen Horizont des Programmierers.

Zum Ende des Jahres 1997 stieg ich dann auf ein neues 32-Bit-Entwicklungssystem um: "Delphi" war angesagt und machte die Windows-Entwicklung wirklich einfacher. Mit dem Erscheinen von Delphi's VCL ("V"isual "C"omponent "L"ibrary) neigten sich die Zeiten des intimen Kampfes mit der Windows-API dem Ende zu. EUKLID 1.5 erschien Ende 1997 und war die erste Version, die nicht mehr auf Windows 3.1 lief. Ungefähr um diese Zeit startete ich meine erste Internet-Homepage, was der Verbreitung von EUKLID sehr zugute kam. Zuvor hatte ich mit dem Klett-Verlag verhandelt, ob dieser den Vertrieb für EUKLID übernehmen wollte. Nach einem Gespräch mit dem Leiter der Abteilung für Unterrichtssoftware kam dann zunächst überhaupt keine Reaktion mehr. Erst auf meine Nachfrage hin wurde mir am Telephon mitgeteilt, dass man kein Interesse habe. Ich habe damals nicht gleich begriffen, dass dies ein Glück für mich war: mit der Verbreitung des "www" gewöhnten sich nämlich die Leute daran, Software direkt beim Hersteller im Netz zu kaufen. Das hält den Vertrieb einfach und die Anzahl der Mitesser klein! Als ich nun "notgedrungen" den Vertrieb selbst übers Netz machen musste, durfte ich eben auch den gesamten Erlös behalten und musste nicht den Löwenanteil an einen Verlag abgeben. Auch solche Details können einen Beitrag dazu leisten, dass die Motivation zur weiteren Pflege eines Programms erhalten bleibt. So gabe es dann auch über die folgenden Jahre hinweg eine ganze Serie neuer, erweiterter Versionen. Mit EUKLID 2.0 zum Beispiel kamen Mitte 1999 die "dynamischen Ortslinien", die eine durchaus nicht-triviale Programmieraufgabe darstellten.

Mit der Version 2.1 kam der neue Name: aus "EUKLID" wurde "EUKLID DynaGeo" mit der Option, dass langfristig nur "DynaGeo" übrig bleiben könnte. Warum dieses? Zwar war das Warenzeichen "EUKLID" zu diesem Zeitpunkt doch schon ganz gut eingeführt. Allerdings haben meine Recherchen im Netz ergeben, dass es eine CAD-Software namens "EUCLID" gibt. Hinter der Firma, die dieses Produkt vertrieb, stand ein namhafter Rüstungskonzern. Und solche Konzerne pflegen sich Anwaltskanzleien zu halten, die gelegentlich auch mal von sich aus aktiv werden, um ihre Existenzberechtigung zu dokumentieren. Es war die Angst vor einer juristischen Auseinandersetzung, die mich den prophylaktischen Rückzug auf festen Boden antreten ließ: kurz vor dem Jahr 2000 habe ich "DynaGeo" als Warenzeichen eintragen lassen, um für die Zukunft eine juristisch unanfechtbare Basis für meinen Auftritt auf dem "Marktplatz Internet" zu haben.

In den folgenden Jahren arbeitete ich stetig an der Weiterentwicklung von "DynaGeo". Hier nur die aus der Sicht des Programmierers wichtigsten Stationen:

Mit der Version 3.5 wurde auch eine der letzten mir bisher bekannten Spätfolgen einer früheren Design-Fehlentscheidung aus der Welt geschafft, nämlich die interne Verwendung des Gradmaßes. Die Details dieses schwierigen Kapitels würden den Rahmen dieses Textes sprengen; Interessierte finden einen Aufsatz dazu in der Hilfe-Datei von DynaGeo.

Zum Schluss noch eine kleine persönliche Bemerkung: was mich am nachhaltigsten an dem Projekt "EUKLID DynaGeo" fasziniert, ist seine Mehrdimensionalität. Ohne Anspruch auf Vollständigkeit möchte ich vier verschiedene Bereiche nennen:

Bei einer solch positiven Bilanz wird es Sie nicht wundern zu hören, dass ich wild entschlossen bin, "am Ball zu bleiben", solange mein Hirn noch hinreichend klar denken kann und meine Frau das Projekt weiterhin unterstützt. ;-)



© 2010, Roland Mechling;
Veröffentlichung und/oder Nachdruck, auch auszugsweise,
nur mit Genehmigung des Verfassers.