Konzepte h¨oherer Programmiersprachen (Entwurf) - WSI ...
Konzepte h¨oherer Programmiersprachen (Entwurf) - WSI ...
Konzepte h¨oherer Programmiersprachen (Entwurf) - WSI ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
16 1.3 Literaturhinweise<br />
Völlig abzuraten ist von Stansifer (1995); mag das englische Original auch durchaus<br />
seine Qualitäten haben, so ist die deutsche Übersetzung doch von einer derartigen<br />
Unkenntnis geprägt, dass die Lektüre ein fast sicherer Weg in den Wahnsinn ist.<br />
Pratt und Zelkowitz (1998) ist die dritte Auflage eines Buchs von 1975, ursprünglich<br />
von Pratt alleine geschrieben. Dieses Buch zerfällt in zwei Teile, wovon sich der erste<br />
mit <strong>Konzepte</strong>n beschäftigt und der zweite mit <strong>Programmiersprachen</strong>. Das Buch<br />
beginnt mit einem Motivationskapitel, diskutiert dann <strong>Entwurf</strong>sfragen (vielleicht etwas<br />
früh?) und Prozesse der Sprachübersetzung und wendet sich dann den <strong>Konzepte</strong>n<br />
zu. Unter den <strong>Konzepte</strong>n sind Datentypen, Kapselung, Ablaufsteuerung, Unterprogrammsteuerung<br />
und Vererbung. Der <strong>Konzepte</strong>-Teil schliesst mit einem Kapitel<br />
über Fortschritte im Sprachentwurf. Sprachen, die in dem zweiten Teil diskutiert werden,<br />
sind FORTRAN, C, Pascal, Ada, C ++ , Smalltalk, LISP, ML und Prolog. (Frühere<br />
Auflagen diskutierten auch andere Sprachen.) Die Kapitel über die Sprachen haben<br />
alle die gleiche Struktur, wobei die Abschnitte wie folgt sind: Geschichte, ” Hello<br />
World“-Beispiel, Sprachübersicht, Datenobjekte, Ablaufsteuerung, Unterprogramme<br />
und Speichermanagement, Abstraktion und Kapselung und Sprachbewertung. Auch<br />
weiterführende Literatur wird am Ende der Kapitel angegeben.<br />
Ghezzi und Jazayeri (1998) ist die dritte Ausgabe eines Buchs von 1982, die leider<br />
gegenüber der zweiten Auflage (Ghezzi und Jazayeri 1987) deutlich abfällt. Zwar hat<br />
das Buch einen sehr schönen Einband mit einer Abbildung des Steins von Rosette, im<br />
Inneren ist die Typographie jedoch ausgesprochen abschreckend und leserfeindlich.<br />
Die Seiten sind in einer viel zu großen Schrift viel zu stark gefüllt, so dass das Lesen<br />
sehr ermüdet und persönliche Randbemerkungen vollends unmöglich werden.<br />
Soweit ich in dieser Vorlesung Gebrauch von Ghezzi und Jazayeri mache, beziehe<br />
ich mich eindeutig auf die zweite Ausgabe. Während es im Vorwort dieser Ausgabe<br />
noch hieß: Unser Ziel ist es, <strong>Programmiersprachen</strong>konzepte zu bewerten in bezug<br />
”<br />
auf ihren Beitrag zum Softwareentwicklungsprozess und die Kriterien zu entwickeln,<br />
die man für solch eine Bewertung braucht“ und die Absicht bei der Präsentation von<br />
Programmiersprach-<strong>Konzepte</strong>n war, die Sprache hervorzuheben, in der das Konzept<br />
”<br />
erstmalig vorkam“, so ist die dritte Auflage leider sehr stark auf C/C++ wegen ihrer<br />
”<br />
breiten Verfügbarkeit“ ausgerichtet. Das geht so weit, dass es sogar einen Abschnitt<br />
” Funktionale Programmierung mit C++“ gibt, was man schon fast als abartig bezeichnen<br />
muss. Nach einer Einleitung mit historischen Bemerkungen folgen Kapitel über<br />
Syntax und Semantik von <strong>Programmiersprachen</strong> sowie über die Strukturierung von<br />
Daten, von Berechnungen und von Programmen. Diese ersten fünf Kapitel bezeichnen<br />
die Autoren als wesentlich“. Die restlichen Kapitel behandeln objektorientierte Spra-<br />
”<br />
chen, funktionale Programmierung, Logik-Programmierung und Sprachen im Kon-<br />
”<br />
text“. Um die Implementierungskosten für <strong>Konzepte</strong> zu studieren, stellen sie im zweiten<br />
Kapitel eine sehr einfache, abstrakte Maschine Simplesem vor, die dazu benutzt<br />
wird, die Laufzeitstrukturen für verschiedene Klassen von Sprachen zu erklären. Die<br />
zweite Ausgabe enthält übrigens im Gegensatz zur dritten einen Anhang mit Zusammenfassungen<br />
über 21 <strong>Programmiersprachen</strong> auf jeweils einer Seite. Von der deutschen<br />
Übersetzung (Ghezzi und Jazayeri 1989) der zweiten Ausgabe ist abzuraten, da<br />
deren Qualität beklagenswert ist.<br />
Ein neueres Buch ist Mitchell (2003), das gleichzeitig auch eins der besten ist. Von<br />
koeinf.pdf