Buchbesprechung: Strange Code – Programmiersprachen von klassisch bis exotisch
Wer sich für neu zu erlernende Programmiersprachen interessiert, findet im No-Starch-Buch "Strange Code" gleich ein Dutzend exotische Kandidaten.
- Tam Hanna
Ronald T. Kneusel
Strange Code
Esoteric Languages That Make Programming Fun Again
No Starch Press, 2022
496 Seiten, ab 39,99 US-Dollar (Buch, eBook)
ISBN: 978-1-71850-240-6
Karriereguides für Informatiker empfehlen seit jeher, regelmäßig neue Programmiersprachen zu erlernen. Je exotischer die Sprache, desto "effizienter" falle dabei das Gehirntraining aus. No Starch Press schickt nun mit Strange Code ein neues Buch ins Rennen, das gleich ein ganzes Dutzend Programmiersprachen vorstellt – von klassisch bis esoterisch.
Das Werk von Ronald T. Kneusel beginnt mit einer generellen Betrachtung der Entwicklung der Programmiersprachen, und bietet in der Folge eine Reihe verschiedener Kriterien zu deren Unterteilung an. Neben Gedanken zu strukturierten und unstrukturierten Sprachen finden sich auch Überlegungen zu Objektorientierter Programmierung (OOP) bis hin zur Turing-Vollständigkeit.
Von klassisch bis esoterisch
Kapitel für Kapitel widmet sich der Autor immer je einer Programmiersprache. Der didaktische Aufbau ist dabei einfach: nach einer erzählerischen Beschreibung der Geschichte und der Besonderheiten des jeweiligen Systems (inklusive Code!!!) folgen kurze Installationsanweisungen, die zumindest auf allen aktuellen Linux-Distributionen umsetzbar sein sollten.
Im Bereich der "alten Klassiker" finden sich Forth, SNOBOL (nicht COBOL) und die einst von der NASA entwickelte Expertensystemsprache CLIPS. Die vorgestellten Codebeispiele zeigen dabei die Besonderheiten jeder Sprache. Im Fall von CLIPS gelingt es dem Autor sogar, das Aufbruchs- bzw. Hypegefühl zu vermitteln, das sich einst im Bereich der Expertensysteme breitgemacht hatte.
Forth, SNOBOL und CLIPS unterscheiden sich von den darauffolgenden Kandidaten insofern, als es sich dabei – zumindest konzeptuell – um Programmiersprachen handelt, die für den praktischen Einsatz vorgesehen waren. In den darauffolgenden Kapiteln wendet sich Kneusel dann den sogenannten Esolangs zu – ein Slangbegriff, der esoterische, also nicht für den Produktiveinsatz vorgesehene, Sprachen beschreibt.
Überraschenderweise beschränkt sich der Autor nicht darauf, diese Sprachen nur "vorzustellen", sondern in vielen Fällen geht er mit Leserinnen und Lesern auch eine Beispielimplementierung durch – im Fall von ABC beispielsweise unter Einsatz von Python, während der Interpreter für die mathematiklastige Sondersprache FRACTRAN unter Nutzung von Scheme entsteht.
Die farbbasierte Programmiersprache PIET und Befunge zeigen dann, dass man auch ohne klassischen Code programmieren kann. Dass auch Brainfuck in einem solchen Werk zu esoterischen Sprachen nicht fehlen darf, erscheint "unvermeidbar". Der einst mit Achtbit-Assembler aufgewachsene Rezensent empfand die Ausführungen zu Brainfuck insofern besonders interessant, weil sie auch tiefergehendes Verständnis für die Architektur von Computersystemen im Allgemeinen vermitteln.
Esoterisch – Marke Eigenbau
Der eine Leser oder die andere Leserin mag sich noch an die allgemeine Konsternation erinnern, als der für seinen Programmiererblog bekannte Joel Spolsky offen zugab, in seinem Unternehmen eine hauseigene Programmiersprache zu warten.
Strange Code versucht gleich zwei Mal hintereinander, an diese Emotionen anzuknüpfen: Mit Filska und Firefly entwirft der Autor zwei unterschiedliche Esolangs, um sie danach auch gleich mit den Lesern gemeinsam zu implementieren. Besonders interessant an Firefly ist, dass Kneusel als Zielsystem hier den BBC: microBit auswählt – ein auf nur wenige Ressourcen beschränktes Embedded-System. Beiden Kapiteln gemein ist zudem, dass Sie die Möglichkeiten und Wege des "Compilerbaums" zeigen, und damit eine Motivation liefern, sich den Themen später noch eingehender zu widmen.
Preview in hoher Qualität
Die vorliegende Rezension entstand anhand eines englischsprachigen E-Books, das No Starch im Rahmen des Early-Access-Projekts zur Verfügung gestellt hat. Obwohl der Text darin noch nicht im finalen Layout vorliegt, fand der Rezensent den didaktischen Aufbau klar und nachvollziehbar, und auch die Bebilderung ausreichend. Die Lektüre des voraussichtlich im September erscheinenden Buchs sollte auch Nicht-Muttersprachlern keine Probleme bereiten.
Fazit: Gelungener Überblick und viel Wissenswertes
Wer sich schon immer für neue und esoterische Programmiersprachen interessiert hat, findet in Strange Code eine gelungene Zusammenfassung der unterschiedlichsten Typen. Angesichts der Vielfalt an Wissenswertem, das der Autor quasi nebenbei vermittelt, lohnt sich die Lektüre des Buchs sogar für all jene, die die eigentlichen Codebeispiele nicht durchprogrammieren.
Tam Hanna
befasst sich seit dem Jahr 2004 mit Handcomputern und Elektronik. Derzeit liegt sein Fokus auf interdisziplinären Anwendungen von Informationstechnologie.
(map)