SPL

… oder wo Hamlet und Romeo gemeinsam auf der Bühne stehen.

Einer der bekanntesten Dichter und Schriftsteller aller Zeiten ist mit Sicherheit William Shakespeare (1564-1616). Ich glaube ein Großteil der Menschen kann eines seiner Stücke nennen. Meistens wird es „Romeo und Julia“ sein. Aber auch „Hamlet“, „Othello“, „Macbeth“ oder „Viel Lärm um nichts“ sind weltberühmt. Seit Jahrhunderten werden seine Werke aufgeführt oder in anderen Medien adaptiert. Über 30 Dramen hat Shakespeare verfasst und immer wieder werden Zeilen daraus zitiert:

  • „Sein oder nicht sein, das ist hier die Frage.“ (Hamlet, 3. Akt, 1. Szene),
  • „Die ganze Welt ist eine Bühne und alle Frauen und Männer bloße Spieler.“ (Wie es euch gefällt, 2. Akt, 7. Szene ) oder
  • „Gut gebrüllt, Löwe!“ (Ein Mittsommernachtstraum, 5. Aufzug, 1. Szene).
Porträt von William Shakespeare von 1610 (Quelle: Wikicommons)

Porträt von William Shakespeare von 1610 (Quelle: Wikicommons)

Doch nicht nur Anglistikstudentinnen und Literaturbegeisterte auf der ganzen Welt haben sich mit Shakespeare beschäftigt. Heute möchte ich euch zwei Männer vorstellen, die sich ebenfalls mit den Werken von Shakespeare auseinandergesetzt haben. Aber das auf ihre ganz eigene Art und Weise. Man kann die Stücke des Dichters nicht nur lesen, sondern auch Computerprogramme damit schreiben. Dabei kann es sich doch nur um einen schlechten Scherz handeln. Aber ich will euch nicht verkürbissen ähm veräppeln. Im Gegenteil ich werde versuchen euch zu erklären, wie das funktioniert.

Wenn man mit der Shakespeare Programming Language oder kurz SPL arbeiten will, muss man sich sehr gut mit den Werken des Dichters auskennen. Kalle Hasselström und Jon Åslund haben diese Programmiersprache erfunden. SPL gilt als eine der am schwersten zu erlernenden Programmiersprache der Welt. Wenn man sich den Code eines mit SPL geschriebenen Programms ansieht, dann wirkt es auf den ersten Blick wie ein Werk von William Shakespeare. Zeichen oder auch Zahlen existieren hier nicht. SPL ist vor allem bei den Freidenkern und Experimentierfreudigen unter den Programmierern beliebt.

Es basiert auf dem typischen Aufbau von einem Theaterstück. Zuerst muss man sich einen Titel suchen, der allerdings noch nicht zum eigentlichen Programmcode gehört. Im „Hello World“ Beispiel heißt das ganze Stück „The Infamous Hello World Program“. Für eine richtiges Bühnenstück benötigt man natürlich auch interessante Charaktere, die kurz beschrieben werden. Man darf aber nur Personen verwenden, die auch in Shakespeares Stücken vorkommen. So werden die Variablen im Code definiert. Das sieht dann ungefähr so aus:

Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of Andersen Insulting A/S.

Jetzt müssen die Figuren miteinandern interagieren. Dazu teilt man sein Stück in mehrere Akte ein und diese wiederum in Szenen. Das würde in dem „Hello World“ Beispiel wie folgt lauten:

Act I: Hamlet’s insults and flattery.
Scene I: The insulting of Romeo.

Wichtig ist auch, dass man die Personen auf- und abtreten lässt – wie auf einer richtigen Bühne eben. Sonst funktioniert der Code nicht:

[Enter Hamlet and Romeo] bzw. [Exeunt Hamlet and Romeo] oder [Exit Romeo]

Das Kernstück eines jeden Theaterstücks ist der Dialog zwischen den Figuren. Das gilt auch für den SPL-Code. Hier wäre ein Beispiel dafür was Hamlet sagen müsste, damit sich etwas tut:

Hamlet: You lying stupid fatherless big smelly half-witted coward!
You are as stupid as the difference between a handsome rich brave
hero and thyself! Speak your mind!

Und so geht die ganze Sache weiter. Es kommt also kein komplettes Shakespeare Drama dabei heraus, sondern der Code besteht aus vielen verschiedenen. Aber genau das macht den Liebhabern von SPL eben soviel Spaß. Man kann sich frei entfalten. SPL ist, wie bereits erwähnt, äußerst kompliziert und nicht jedermanns Sache. Das wurde mir von meinem ganz persönlichen Berater für Computer und Programmieren bestätigt. 😉 Man benötigt nicht nur das richtige Level von Programmierkenntnissen, sondern auch umfangreiches Wissen zu Shakespeares Werken. Deswegen nennte man eine Programmiersprache wie SPL auch „esoterische“ Programmiersprache. Hier wäre der Link zu dem kompletten „Hello World“ Beispiel von SPL.

Ein anderes Beispiel für eine solche Sprache wäre „Brainfuck“, entwickelt vom Schweizer Urban Müller im Jahr 1993. Aber die SPL erschien mir dann doch eleganter und geeigneter für diesen Beitrag. Außerdem jährt sich aut julianischem Kalendar am 23. April der Todestag von William Shakespeare zum 399. Mal – also noch ein Grund mehr.

Anne Hathaway's Cottage (Quelle: http://www.shakespeare.org.uk/visit-the-houses/anne-hathaways-cottage-amp-gardens.html)

Anne Hathaway’s Cottage (Quelle: http://www.shakespeare.org.uk/visit-the-houses/anne-hathaways-cottage-amp-gardens.html)

Wer sich weiter mit esoterischen Programmiersprachen beschäftigen möchte, hier ein Literaturtipp: Oliver Lau, Hexenwerk – Ein Plädoyer für esoterische Programmiersprachen, 2007. Ich für meinen Teil lese dann doch lieber die Werke von William Shakespeare oder genieße eines seiner Stücke beim nächsten Theaterbesuch. Weiters kann ich einen Besuch in seiner Heimatstadt Stratford upon Avon nur wärmsten empfehlen. Unbedingt bei Anne Hathaway’s Cottage vorbei schauen! Dort haben ich vor einigen Jahren einen wundervollen Nachmittag verbracht.

So genug von Ophelia, Macbeth und König Lear für heute. Das nächste Mal treffen wir auf eine ganz besondere Art von Dienerschaft.

„Um ernst zu sein, genügt Dummheit, während zur Heiterkeit ein großer Verstand unerlässlich ist.“ (William Shakespeare)

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.