Programmiersprache        zurück ]      [ Stichworte ]      [ Die Hyper-Bibliothek ]      [ Systemtheorie ]         [ Meine Bücher ]
bildsiehe auch: programmieren, Programm, Daten und Programme

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.

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.

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

Programmiersprachen beinhalten unterscheidbare Logiken bezüglich der generellen Problemauffassung. Ich unterscheide prozedurale und objektorientierte Programmiersprachen.
Überdies gibt es Programmiersprachen, die den Programmcode direkt umsetzen, was als interpretieren bezeichnet wird, und solche, bei welchen der Programmcode zuerst compiliert wird.

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

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.

Wenn ich eine Programmiersprache als Mechanismus begreife, dann natürlich als einen programmierten Automaten. Ich kann den Mechanismus also durch eine Programmiersprache beschreiben und damit auch herstellen.

Most Popular Programming Languages 1965 - 2019
https://fossbytes.com/most-loved-hated-programming-languages-2019/


 

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).


 
[kybernetiks: Inwiefern sind Programmiersprachen Sprachen?]
[Todesco: Technische Intelligenz: 2.3.2.3. Programmiersprache]
[wp]