Programmiersprache        zurück ]      [ Stichworte ]      [ Literatur ]      [ Die Hyper-Bibliothek ]      [ Systemtheorie ]

Differenztheoretisch kann eine Programmiersprache als Differenz zwischen einer Sprache und einer Steuerungsmechanik gesehen werden, deren Konfiguration als Steuerungselemente so angeordnete Zeichenkörper verlangt, so dass diese sekundär lesbar sind. Ich bezeichne diese Steuerungselemente als Programme.

Ich bezeichne mit Programmiersprache also nicht einen Gegenstand, also nicht den Mechanismus, in welchem die Programmiersprache hervorgebracht wird, sondern ein Emergenzphänomen, dass sich über diesem Mechanismus entfaltet, weil er genau dafür konstruiert wurde.

Erläuterungen:

Der schaltsinnmässige Zustand einer Musikwalze besteht in der Anordnung der Nocken. Jeder Platz auf der Walze ist ein Schalter, der durch die Nocke eine der beiden möglichen Stellungen (Nocke/keine Nocke) hat. Diese Schalter sind nicht flexibel sondern festgelegt. Man kann die Schalter so anordnen, dass man sie quasi lesen kann. Eine Stadt könnte in diesem Sinne so gebaut werden, dass ein Pilot lesen kann, wie sie heisst, wenn er über die Stadt fliegt. Wenn man die Schalter einer Steuerung lesbar anordnen will, muss die Steuerung entsprechend konfiguriert werden: das bezeichne ich als Programmiersprache.

Man kann bei einer Musikwalze - was üblicherweise dre Fall ist - die tongebenden Zungen so angeordnen, dass sie eine Tonleiter bilden. Dann muss man die Nocken so setzen, dass sie in der richtigen Reihenfolge die Tonzungen bewegen. Wenn man umgekehrt zuerst die Nocken so angeordnen würde, dass man "Kleine Nachtmusik" lesen kann, müssten natürlich die Tonzungen so gesetzt werden, dass die gewünschte Melodie gespielt wird. Das wäre eine ziemlich anspruchsvolle Sache, das ist aber das Prinzip der Programmiersprache.

Ein sogenannter Quellcode, also ein geschriebener Programmtext ist eine lesbare Menge von Schaltern (Transistoren), die auf einer Lochkarte - oder eingescannt - könnte. Auf dem Harddisk sind anstelle von Graphitspuren einfach elektromagnetische Teilchen. Programme beruhen also auf materiellen Maschinenteilen, die in Abhängigkeit der Steuerungsmechanismen verschiedene Formen (etwa Graphitstrukturen, Löcher oder elektromagnetische Verteilungen) haben.

Die Programmiersprache beruht darauf, dass der Steuerungsmechanismus, der durch das Programm in den jeweiligen Zustand gesetzt wird, so konstruiert ist, dass man Programme lesen kann. Im Bild der Musikwalze gesprochen, richtet sich der Steuerungs-Mechanismus nach der Syntax der Programme. Der Mechanismus ist sehr kompliziert, damit die Programme sehr einfach geschrieben werden können oder anders gesagt: Die Lesbarkeit der Programme ermöglicht sehr komplizierte Steuerungen.

  
 
 
 
PROGRAM wuerfelwurf; 
USES crt;
VAR anzahl, wurf, treffer: longint;
    augenzahl: integer;
BEGIN
   clrscr;  
   writeln; writeln;
   write ('Anzahl der Würfe: ');
   readln (anzahl);  
...
  


siehe auch: Was ist eine Programmiersprache?
siehe auch: die Geschichte der Programmiersprache?

Bekannte Programmiersprache.
Fortran, Cobol, Algol 60, Pascal, Ada, C+
siehe auch: Zeittafel Programmiersprache

Anmerkungen:
Programmiersprachen sind keine Sprachen und keine formalen Sprachen. Sie werden durch formale Sprachen definiert. Sprachen bestehen aus Symbolen, die auf etwas verweisen, Programmiersprachen sind Mechanismen.

Anmerkungen:
Wie die Programmiersprache als Mechanismus technisch realisiert ist, lässt sich verständlich nachlesen in A. Osborne's Einführung in die Mikrocomputer-Technik. Dort wird - für Ingenieure "natürlich" - vom Prozessor, nicht von der Struktur einer Lochkarte her gedacht. Es wird behandelt, wie die Schaltungen so verschachelt werden, dass man Computer überhaupt programieren kann.

Literatur:
"Die Progammiersprachen sind dem Computer äusserlich, sie dienen nur uns" (Todesco 1992:125).
Die Vorsilbe "Programmier-" deutet an, dass diese vermeintlichen Sprachen nicht zum Sprechen, also nicht symbolisch verwendet werden, sondern als gedankliche Schablonen das Konstruieren erleichtern." (Todesco: Technische Intelligenz, S. 158)
N. Wirth schreibt: "Eine Programmiersprache stellt einen abstrakten Computer dar, der die Ausdrücke dieser Sprache verstehen kann* (Algorithmen und Datenstrukturen:10).
und: "Von der Reduktion des Programmieraufwandes durch Programmiersprachen, welche IBM mit Fortran anstrebte, dürfte ein wesentlicher Anteil darin bestehen, dass die Programmierer, die dem Computer Befehle geben, praktisch nichts vom Computer wissen müssen. Was es alles zu wissen gäbe, erläutert N.Wirth anhand des vermeintlich einfachen Beispiels, wie die Position eines Objektes im Computer darzustellen ist. Das Problemchen wäre in modernen Computer ohne Programmiersprachen gewaltig. ”Deshalb kann von einem Programmierer kaum verlangt werden, dass er über die zu verwendende Zahlendarstellung oder gar über die Eigenschaften der Speichervorrichtung entscheidet. (...) In diesem Zusammenhang wird die Bedeutung der Programmiersprachen offensichtlich” (gleiches Buch:18f).


 
[wp]

 
[kybernetiks]

[Technische Intelligenz]