11.09.2013 Aufrufe

Konzepte h¨oherer Programmiersprachen (Entwurf) - WSI ...

Konzepte h¨oherer Programmiersprachen (Entwurf) - WSI ...

Konzepte h¨oherer Programmiersprachen (Entwurf) - WSI ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!