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.
20 2.1 Syntax, Semantik, Pragmatik<br />
die Absicht des Schreibers kann ich aus der Art ableiten, wie er sein Anliegen formuliert?<br />
Zur Pragmatik gehört bei <strong>Programmiersprachen</strong> auch die Frage nach der sinngemässen<br />
Handhabung der Sprache entsprechend ihrem Anwendungsbereich 11 ,<br />
s.o.<br />
Pragmatik handelt von der Beziehung der Zeichen zu ihrem Benutzer.<br />
Im Bereich der Pragmatik sind auch Fragen des Stils angesiedelt; im Deutschunterricht<br />
wird diesen Fragen grosses Gewicht beigemessen. Offensichtlich sind Syntax<br />
und Semantik eher die niederen Ebenen einer sprachlichen Kommunikation, während<br />
Pragmatik auf einer höheren Ebene diskutiert wird. Viele Programmierer glauben<br />
jedoch, dass man sich bei <strong>Programmiersprachen</strong> auf Syntax und Semantik allein<br />
beschränken kann, während Fragen des Stils praktisch überhaupt keine Rolle spielen.<br />
Dies mag dadurch begründet sein, dass der Computer sich darauf beschränkt, die<br />
Syntax der eingegebenen Programme zu überprüfen und die entsprechenden semantischen<br />
Aktionen auszuführen, während er pragmatische Aspekte gar nicht beurteilen<br />
kann.<br />
In Wirklichkeit ist diese Einstellung jedoch falsch, denn:<br />
Wir schreiben Programme nicht nur, damit ein Computer sie ausführt, sondern<br />
auch dafür, dass wir selbst oder andere Menschen sie verstehen können. Computer<br />
dagegen können Programme überhaupt nicht ” verstehen“ und brauchen dies auch<br />
nicht, sie müssen sie nur ausführen.<br />
Programme sind deshalb so zu schreiben, dass Menschen sie leicht lesen und verstehen<br />
können. Dann spielen aber Fragen der Pragmatik automatisch die entscheidende<br />
Rolle! Der amerikanische Informatik-Pionier D. E. Knuth (1992) propagiert seit vielen<br />
Jahren das sogenannte ” Literate Programming“, also belesenes bzw. gebildetes Programmieren<br />
und stellt die provozierende Frage: ” Wann haben Sie zuletzt ein gutes<br />
Programm gelesen?“<br />
<strong>Programmiersprachen</strong> haben also immer ein doppeltes Gesicht: einerseits dienen<br />
sie dazu, Algorithmen auf die Maschine zu bringen, andererseits sind sie Kommunikationsmittel,<br />
um uns gegenseitig Algorithmen mitzuteilen bzw. um Algorithmen<br />
für spätere Zeiten zu konservieren. Dies wurde bereits recht früh erkannt: die Sprache<br />
ALGOL, zwischen 1956 und 1960 entstanden, erhielt diesen Namen als bewusstes<br />
Wortspiel: einerseits kann man ALGOL als Abkürzung von ” ALGOrithmic Language“<br />
lesen, andererseits ist Algol ein Doppelstern (im Sternbild Perseus), was auf die<br />
Janusköpfigkeit der Programmiersprache hinweist.<br />
11 Ein Standardscherz unter den Programmierern lautet: ” Ein echter Programmierer kann FORTRAN-<br />
Programme in jeder beliebigen Programmiersprache schreiben.“ Sammet (1969) zeigt auf S. 545 ein<br />
PL/I-Programm, das in Wirklichkeit nach der Ideologie von Assemblerprogrammen geschrieben ist.<br />
kogrund.pdf