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.
2 1.1 Motivation<br />
chen zu schaffen und auf diese Art und Weise die Grenzen ihrer Welt neu zu setzen.<br />
Vielleicht ist dies der Grund, warum es so viele <strong>Programmiersprachen</strong> gibt. Aber das<br />
oben beschriebene Phänomen taucht immer wieder auf wie auch in den Zitaten von<br />
Wirth und Perlis anerkannt wird: Auch eine Programmiersprache wird unsere Gewohnheiten,<br />
Paradigmen und Weltanschauungen über die Aufgabe des Programmierens<br />
ändern; also ist es tatsächlich wichtig, <strong>Programmiersprachen</strong> Aufmerksamkeit zu<br />
schenken. Es gibt mehrere tausend <strong>Programmiersprachen</strong> (siehe zum Beispiel die von<br />
Kinnersley (2007) geführte Sprachenliste), von denen wenige Dutzende wirklich wichtig<br />
sind. Die Frage, warum es so viele <strong>Programmiersprachen</strong> gibt, ist offensichtlich verbunden<br />
mit der Frage, warum jemand eine neue Programmiersprache entwerfen sollte<br />
anstatt eine existierende zu verwenden. Wir werden hier nicht über das Vergnügen<br />
diskutieren, das darin besteht, eine neue Sprache zu entwerfen und auch nicht über<br />
andere unwichtige Gründe 1 oder den üblichen gewissen Snobismus 2 .<br />
Auf einer ernsthafteren Ebene gibt es mindestens die folgenden bedenkenswerten<br />
Punkte:<br />
Konzeptuelle Modelle: Akzeptieren wir einmal, dass jedes Programm auf irgendeine<br />
Weise dazu gedacht ist, Informationen zu verarbeiten, so müssen wir doch stets<br />
zugeben, dass es verschiedene Ansichten darüber geben kann, was Information<br />
wirklich ist, was Informationsverarbeitung wirklich bedeutet. Also kann es, wie<br />
Kristensen und Østerbye (1994, 1996) ausführen, verschiedene konzeptuelle Modelle<br />
nicht nur des Anwendungsbereichs, sondern auch des Programmierprozesses<br />
geben. Natürlich impliziert dies auch unterschiedliche Ansichten darüber, wie<br />
man Programme am besten ableitet und ausdrückt, und es kann sehr gut geschehen,<br />
dass ein neues Paradigma der Programmentwicklung und Notation auf keine<br />
der existierenden Sprachen passt. So ist für den einen etwa ein informationsverarbeitender<br />
Prozess stets eine Umformung von Zeichenketten, für den anderen<br />
die Berechnung eines Funktionswertes zu gegebenen Argumenten, für den anderen<br />
eine Abfolge von Zuständen einer in Komponenten gegliederten Maschine (s.<br />
Kap. 3).<br />
Anwendungsbereiche: Verschiedene Anwendungsbereiche scheinen nach verschiedenen<br />
Sprachen zu verlangen und neue Anwendungsbereiche entstehen stetig,<br />
so wie sich unsere Technologie verbessert. Die offensichtliche Reaktion auf einen<br />
neuen Anwendungsbereich scheint eine neue Sprache zu sein. Postscript zum Beispiel<br />
wurde entwickelt für den Zweck logisch hochstehender Beschreibungen gedruckter<br />
Seiten mit Text und Graphik. Man wird einen Texteditor normalerweise<br />
nicht in COBOL schreiben, einen ABS-Computer nicht in PostScript programmieren<br />
und TEX nicht dazu verwenden, um einen BASIC-Interpreter zu schreiben 3 .<br />
1 zum Beispiel berichtet Stroustrup, dass er C++ nur entworfen hat, weil er in SIMULA 67 ausgebildet<br />
wurde und die Sprache für seine augenblickliche Aufgabe für geeignet hielt, wo er aber nur Zugriff auf<br />
einen C-Compiler hatte<br />
2 Das Wort Snob kommt von der lat. Abkürzung ” s. nob.“ = ” sine nobilitate“, mit der in vornehmen<br />
englischen Colleges die nicht-adligen Studenten gekennzeichnet wurden. Diese kannten nicht alle die<br />
komplizierten Spielregeln, welche ihre adligen Kommilitonen bereits mit der Muttermilch aufgenommen<br />
hatten und lösten deshalb viele Fragen recht hemdsärmelig so, wie es ihnen gerade recht schien.<br />
3 Dabei ist allerdings das letztere immerhin in der Literatur dokumentiert; man durchsuche die<br />
koeinf.pdf