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.
10 1.3 Literaturhinweise<br />
te denken werden, dass sie durch einen Text ergänzt werden muss, der Beispiele aus<br />
verschiedenen <strong>Programmiersprachen</strong> vorführt.<br />
Gelernter und Jagannathan (1990) führen, nachdem sie kurz ihren Ansatz der Pro-<br />
”<br />
grammierlinguistik“ vorgestellt haben, ihre ideale Softwaremaschine“ (ISM) vor, ein<br />
”<br />
sehr abstraktes Berechnungsmodell. Die ISM besteht aus rekursiv verschachtelten<br />
” Raumabbildungen“ und Zeitabbildungen“ und es mag etwas schwierig sein, sich<br />
”<br />
an sie zu gewöhnen; aber sie erlaubt passende Definitionen der Begriffe Sichtbarbarkeit,<br />
Blockstruktur, parallele Programmstruktur, Verbunde, Objekte, Module, Bibliotheken<br />
usw. Nach den ersten 84 Seiten beginnt die Diskussion einzelner <strong>Programmiersprachen</strong>;<br />
dabei wird jede Programmiersprache auf die ISM bezogen. Die Diskussion<br />
der <strong>Programmiersprachen</strong> ist in historischer Reihenfolge organisiert, denn nur<br />
”<br />
indem wir den historischen Aufzeichnungen folgen, können wir die Gezeitenwellen<br />
zwischen klassischer Einfachheit und rokokohafter Extravaganz nachzeichnen, die das<br />
Feld häufiger überschwemmt haben“. Dieses Organisationsmuster erklärt auch die Kapitelüberschriften,<br />
die man anderenfalls nur schwer verstehen könnte, z. B. FORT-<br />
”<br />
RAN, ALGOL 60 und LISP“ oder APL und COBOL“. Die <strong>Programmiersprachen</strong>, die<br />
”<br />
in diesem Buch behandelt werden, sind Ada, ALGOL 60/68, APL, C, COBOL, CSP,<br />
FORTRAN, Linda, LISP, Miranda, Occam, Pascal, PL/I, Prolog, Scheme, SIMULA 67<br />
und Smalltalk; weitere Sprachen werden kurz angerissen.<br />
Ein drittes Buch, das in dieser Sammlung von Lehrbüchern etwas ungewöhnlich<br />
wirkt, ist Horowitz (1987). Was Horowitz hier getan hat, ist dass er dreißig meist wichtige<br />
Original-Artikel über <strong>Programmiersprachen</strong> ausgewählt und nachgedruckt hat,<br />
angereichert um eine Bibliographie von rund 200 Literaturstellen für tiefergehende<br />
Lektüre. Die Artikel sind in die folgenden Abschnitte eingeteilt: Geschichte und gute<br />
<strong>Entwurf</strong>stechnik, die ALGOL-Familie, applikative Sprachen, Datenabstraktion, Nebenläufigkeit,<br />
Alte Sprachen mit neuen Gesichtern, weitere Sprachen für die 1980er.<br />
Was hier unbedingt fehlt, ist ein Artikel über SIMULA im Abschnitt über Datenabstraktion.<br />
Nachdem wir diese drei Ausnahmen zur Regel vorgestellt haben, stellen wir<br />
die weiteren Bücher in chronologischer Reihenfolge vor.<br />
Die ältesten Bücher auf diesem Gebiet sind Sammet (1969), eine unschätzbare Quelle<br />
von Informationen hauptsächlich über ältere <strong>Programmiersprachen</strong>, und Wegner<br />
(1971). Sammet beschreibt auf 785 Seiten rund 120 <strong>Programmiersprachen</strong>, die ungefähr<br />
bis Herbst 1967 entstanden sind, mit einigen Zutaten von 1968. Die Diskussion ist relativ<br />
detailliert und verfügt über zahlreiche Beispiele; sie deckt praktisch alle relevanten<br />
Sprachen der damaligen Zeit ab. Außerdem gibt es allgemeine Einführungskapitel<br />
über <strong>Programmiersprachen</strong>. Von den diskutierten <strong>Programmiersprachen</strong> waren 20 bereits<br />
seinerzeit tot (Das Buch ist deshalb auch ein Beitrag zu einer Geschichte der <strong>Programmiersprachen</strong>)<br />
und nur 15 davon waren damals weithin implementiert und benutzt.<br />
Dass das Buch von Sammet tatsächlich am Anfang der Diskussion über <strong>Programmiersprachen</strong><br />
steht, kann man nicht zuletzt daran erkennen, wieviel Platz sie<br />
darauf verwendet, um die Vorteile von höheren <strong>Programmiersprachen</strong> gegenüber dem<br />
Assembler darzulegen.<br />
Der klassische Text von Wegner (1971) verfolgt eine ganz andere Zielrichtung: Anstatt<br />
jede (möglicherweise) interessante Sprache zu diskutieren, stellt er zunächst einen<br />
koeinf.pdf