Konzepte h¨oherer Programmiersprachen (Entwurf) - WSI ...
Konzepte h¨oherer Programmiersprachen (Entwurf) - WSI ...
Konzepte h¨oherer Programmiersprachen (Entwurf) - WSI ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
12 1.3 Literaturhinweise<br />
gen, einen neueren Zeitschriftenartikel (Ludewig 1993).<br />
Tucker jr. (1986), die zweite Ausgabe eines Buchs von 1977, beschäftigt sich auch<br />
mehr mit der Diskussion einzelner Sprachen (Ada, APL, C, COBOL, FORTRAN, LISP,<br />
Modula-2, Pascal, PL/I, Prolog, Snobol) in ziemlichem Detail, aber ohne <strong>Konzepte</strong> sehr<br />
stark hervorzuheben. Er sagt jedoch: ” Ein wesentlicher Zweck dieses Textes ist es, effektive<br />
Kriterien für die Bewertung und den Vergleich von <strong>Programmiersprachen</strong> zu<br />
beschreiben und anzuwenden.“ Eingestreut in die Diskussion von <strong>Programmiersprachen</strong><br />
gibt es drei Abschnitte über Sprachentwurf (Syntax, Semantik, Pragmatik). Diese<br />
Abschnitte präsentieren allerdings nur einige wenige Grundlagen und Beispiele; insbesondere<br />
geben sie keine Hinweise für den <strong>Entwurf</strong>sprozess.<br />
Auch von 1986 ist die ” <strong>Programmiersprachen</strong>landschaft“ von Marcotty und Ledgard<br />
(1986). Nach einem Einführungskapitel wird zunächst an einer einfachen imperativen<br />
Modellsprache core das Problemfeld aufgerissen. Die nächsten drei Kapitel<br />
beschäftigen sich allgemein mit Methoden der Definition von Syntax und Semantik<br />
von <strong>Programmiersprachen</strong> und, konsequenterweise, mit dem Übersetzungsprozess,<br />
und ziehen dazu die Modellsprache core als Illustration heran. Mit Kapitel 6 beginnt<br />
dann eine eingehendere Diskussion bestimmter Aspekte von <strong>Programmiersprachen</strong>,<br />
wobei jeweils zu Anfang eine weitere Modellsprache zur Illustration der <strong>Konzepte</strong><br />
eingeführt wird und am Ende in einem Abschnitt ” Where to look“ mindestens zwei<br />
Sprachen aufgeführt werden, in denen man die <strong>Konzepte</strong> dieses Kapitels besonders<br />
gut studieren kann. In der Liste der <strong>Konzepte</strong> (Namen, Speicherplätze und Werte;<br />
Steuerstrukturen; Datentypen; Ein/Ausgabe; Prozeduren und Parameter; geschachtelte<br />
Sichtbarkeitsbereiche; Definition eigener Datentypen; dynamisch veränderbare<br />
Strukturen; eine applikative Sprache; Ausnahmebehandlung; Parallelverarbeitung; getrennt<br />
übersetzte Module) fällt das Fehlen des Begriffs ” Objektorientierung“ auf, obwohl<br />
Smalltalk gelegentlich als Beispiel herangezogen wird.<br />
MacLennan (1999) (dritte Auflage eines Buchs von 1983; ich kenne aber nur die<br />
zweite aus dem Jahr 1987) enthebt sich der bereits angesprochenen Schwierigkeit bei<br />
der Anlage von Büchern über <strong>Konzepte</strong> von <strong>Programmiersprachen</strong> dadurch, dass<br />
das Buch im wesentlichen chronologisch angeordnet ist (erste höhere <strong>Programmiersprachen</strong>,<br />
FORTRAN, ALGOL, Pascal, Ada als Abfolge imperativer <strong>Programmiersprachen</strong>;<br />
sodann LISP, Smalltalk, Prolog als Vertreter alternativer Ansätze), aber in einem<br />
zusätzlichen ” Concept Directory“ eine andere Struktur des gleichen Buchs nach Sachgebieten<br />
erschließt. Im Umschlagdeckel ist eine Liste von 16 ” Prinzipien“ zusammengefasst,<br />
die durch das Buch hinweg vorgestellt und in einem eigenen Kapitel über Prinzipien<br />
des Sprachentwurfs diskutiert werden.<br />
Wilson und Clark (1988) bietet nicht viel mehr als der Titel ( ” Comparative Programming<br />
Languages“) verspricht. In der Tat ist der Vergleich relativ phänomenologisch.<br />
Das Buch enthält viele einleuchtende kleine Beispiel zum Vergleich von <strong>Programmiersprachen</strong>,<br />
so dass man sehen kann, wie bestimmte Konstrukte in verschiedenen Kulturen<br />
dargestellt werden, aber es bietet praktisch gar keinen theoretischen Hintergrund.<br />
So wird beispielshalber ein Programm für die symbolische Differentiation in LISP, LO-<br />
GO und Prolog vorgeführt, aber das klassische LISP-Buch von Allen (1978) wird nicht<br />
einmal unter den Literaturhinweisen des entsprechenden Kapitels aufgeführt. Ebenso<br />
koeinf.pdf