(Listen von (Listen von (Listen von …)))

Die Überschrift dieses Beitrags ist an die Lisp-Syntax angelehnt. Dies ist mein kleiner Tribut zu dieser tollen Programmiersprache. Denn Listen sind – wie wir alle wissen – eine der advancedesten (wie schreibt man das? Matze?) Datenstrukturen die es gibt.

Dann macht man noch ein bissl Präfixnotation dazu und schon ist klar: OOP considered harmful.

Aber ganz von vorne.

Prof. Dr. Scheme

Über meinen Info-I-Tutorjob kam ich zum ersten mal mit Scheme in Berührung. Was soll ich sagen: Es war Skepsis auf den ersten Blick; diese absurde Präfixnotation und die ))))-Orgien. Hart!

Die Vorteile der funktionalen Programmierung im Allgemeinen und von Scheme im Speziellen wollten mir am Anfang nicht so recht einleuchten. Was mich jedoch faszinierte war diese kompromisslose Begeisterung von Sperber und Konsorten für diese Art der Softwareentwicklung. Ich wollte unbedingt wissen wieso die das so toll finden. Nachher verpasst man noch was :-)

Nach Wochen der Auseinandersetzung mit Scheme, stieß ich unter anderem auf einen sehr erhellenden Vorlesungsmitschnitt aus dem Jahre 1986 über Lisp. Hoch motiviert und angespornt von der Eleganz der dort gelösten Problemstellungen wollte ich auch unbedingt mal was mit Scheme machen.

Design eine Stufe abstrakter

Ein sehr vielversprechender Vorlesungstitel. Softwarearchitektur. Oder auch SWA. Mit Java sollen hier eine handvoll mehr oder weniger großer Softwareprojekte bearbeitet werden. Angefangen bei so Sachen wie einem Taschenrechner, zog die Komplexität doch recht schnell an. Das letzt Projekt was wir beendet haben ist eine minimale Tabellenkalkulation.

Die Hackorgie die am Ende wieder entstanden ist soll beim nächsten mal nicht mehr passieren. Das nächste Projekt: ein Formeleditor. So einer wie man ihn aus Word oder Openoffice kennt.

Mit Matzes neuer Extreme Programming Philosophie, Fabians und Hansens vollständiger Integration und sonstigen diesmal-wird-alles-besser Strategien soll diesmal alles besser werden.

Deshalb hatte ich auch direkt nach der ersten Sitzung einen kleinen Prototyp fertig.

Verwendete Programmiersprache: Scheme! Mein erstes sinnvolles Schemeprojekt.

Wie es der Zufall so wollte…

… musste ich beim Schreiben dieses Blogeintrages feststellen, dass ich die von mir gemachten Screenshots noch irgendwie mit einem stilisierten Rahmen/Schatten versehen wollte. Man schaue sich die obigen Bilder nochmal genau an.

Nun – The GIMP machts möglich. Ein kleines Skript geschrieben was die verlangte Arbeit erledigt und fertig.

Sprache? Scheme!

Contact

Alexander Gitter
contact at agitter net