Achim Clausing
Programmiersprachen
Spektrum
1. Aufl. 2011, XII, 450 S., 40 Abb.
|
Das Buch behandelt grundlegende Konzepte und Strukturen von Programmiersprachen. Zu diesem Zweck werden sieben kleine Programmiersprachen entwickelt, jeweils mit vollständiger Implementierung in Java, von denen jede für ein Programmierparadigma steht:
|
Das 't.' steht dabei für 'tiny', 'toy' oder auch 'teaching'. Jede dieser Sprachen ist eine Miniaturausgabe ihres Originals, eine Art Lehr- und Lernspielzeug - syntaktisch und semantisch stark vereinfacht, aber doch nur so weit, dass die charakteristische Art, in der jeweiligen Sprache zu denken und zu programmieren, erhalten bleibt. Zu jeder Sprache wird eine knappe Einführung in die wichtigsten Sprachelemente gegeben, ferner eine Anzahl charakteristischer Anwendungsbeispiele und eine informelle Beschreibung der Implementierung. Die Implementierung der sieben Sprachen beruht auf einem gemeinsamen Interpreter-Kern; der gesamte Java-Quellcode ist nur etwa 250 kB groß und gut lesbar.
Das Buch richtet sich primär an Studierende der Informatik und verwandter Fächer sowie an Leserinnen und Leser mit grundlegenden Java-Vorkenntnissen, die sich für das Innenleben von Programmiersprachen interessieren. Der Text ist aber so organisiert, dass man den Implementierungsteil auch ignorieren und die Sprachen nur zum Kennenlernen verschiedener Programmierparadigmen benutzen kann.
Sie können sich hier das Inhaltsverzeichnis und die Einleitung ansehen. Von der Webseite des Verlags zum Buch können einzelne Kapitel heruntergeladen werden.
Den Java-Quellcode für die Programmiersprachen, die zugehörigen Class-Dateien und alle Beispiele aus dem Buch gibt es als Zip-Archiv (ca. 0,8 MB, entpackt 2 MB). Es kann an einer beliebigen Stelle gespeichert und entpackt werden.
Beim Entpacken von tanagra.zip
wird ein Verzeichnis
tanagra
erzeugt. Es enthält unter anderem eine
Installationsanleitung
für die Software zum Buch.
28. 12. 2011: Im Quellcode der Klassen LinkList
, Operator
und NumberOp
wurden kleine Änderungen
vorgenommen, um Warnungen abzustellen, die der Compiler von Java 1.7 sonst ausgibt.
Vielen Dank an Reinhard Schiedermeier für den Hinweis!
Achim Clausing
Institut für Informatik
Westfälische Wilhelms-Universität Münster
Email:
achim.clausing(at)uni-muenster.de