zurück ]      [ Stichworte ]      [ Die Hyper-Bibliothek ]      [ Systemtheorie ]         [ Meine Bücher ]


Rolf Todesco

Was ist eine Programmiersprache?

Differenztheoretisch ist ein Computer-Programm die Differenz zwischen einem Artefakt und der Instanz eines Objektes, die den schaltsinnmässigen Zustand des mit dem Programm gesteuerten Automaten bestimmt.

Als Artefakt ist ein Computer-Programm eine sekundär lesbare Konfiguration von Schaltern, die als Beschreibung des Zustandes der programmgesteuerten Maschine (Automaten) gelesen werden kann. Die Lesbarkeit beruht darauf, dass die Schalterkonfiguration durch die Implementierung einer Programmiersprache als Code interpretiert werden kann.

Ueber programmierbare Automaten sprechen wir umgangssprachlich in einer Metaphorik, nach welcher man einem Computer in Form eines Programmes Befehle oder Anweisungen erteilt, die er dann ausführt. Selbst wenn uns bewusst ist, dass das metaphorisch ist und woher die Metapher kommt, hilft das noch nicht den Computer als programmierbaren Automaten auch konstruktiv zu verstehen. Was beschreiben wir mit der gängigen Metapher, die schon fast nicht mehr als Metapher erkennbar ist? Wie sind die Automaten konstruiert, die man in einer Programmiersprache programmieren kann?

Automaten, die programmiert werden, haben eine Menge von Schaltern, die in einer bestimmten Stellung sind. Durch die Programmierung werden Schalter in die jeweils richtige Position gebracht. Eine anschauliche Form einer Schaltermenge bietet die Musikwalze. Ein gedachter Schalter steht auf "ein", wenn an der "Schalterstelle" eine Nocke ist und auf "aus", wenn dort keine Noppe ist. Die Stellung der Schalter bestimmt die Melodie, die mit diesem Instrument gespielt wird.

Eigentliche Schalter kann man leicht in die je Position bewegen. Einen Lichtschalter etwa kann man hin und herkippen oder wiederholt drücken, um das Lich ein- oder auszuschalten. Wenn man bei der Musikwalze eine andere Melodie will, muss man die Nocken auf der Walze an andere Stellen setzen - oder eine andere Walze einsetzen. Die Schalter sind also nicht leicht bewegbar. Dafür hat sich das Ausdruck "Hardware" eingebürgert.

bild bild

Eine Lochkarte ist eine etwas andere Form einer Schaltermende als die Musikwalze. Die Schalter sind hier durch Stellen auf der Karte gegeben, die gelocht oder eben nicht gelocht sind. Auch die Lochkarte zählt zur Hardware, weil es aufwendig ist, die Schalter zu verändern. Man kann Lochkarten wie die Musikwalze unmittelbar verwenden, um einen Mechanismus zu steuern. Das hat etwa der Erfinder der Lochkarten, Jacquard bei seinen Webstühlen getan, wo die Löcher mit Nadeln ertastet wurden, die dann den Kettfaden vor oder hinter das Webschiffchen rückten. Man kann aber auch eine Abtastvorrichtung verwenden, bei welcher durch die Löcher ein Stromkreis geschlossen wird, respektive wenn kein Loch vorhanden ist, unterbrochen wird. Dann kann man mit diesen Stromkreisen weitere Schalter steuern, die ihrerseits beweglich sind.

bild Lochkartenleser

So ist es möglich eine Schaltermenge, mit leicht umschaltbaren Schaltern mittels einer Lochkarte zusteuern. Man kann dann mit verschiedenen Lochkarten quasi schematisch verschiedene Einstellungen in einer beweglichen Schaltermenge festlegen, wobei die festgelegte Schaltermenge der Lochkarte die nicht festgelegte, flexible Schaltermenge steuert. Die Lochkarte ist dann ein Teil einer Konstruktion, bei welcher flexible Schaltermengen durch eine Lochkarte in verschiedene Konstellationen gebracht werden.

Prozessoren von Computern sind solche flexiblen Schaltermengen. Man kann sie mit Lochkarten "programmieren", als für eine bestimmte Zeit in ein bestimmtes Schaltungsmuster versetzen. Die Schalter der Prozessoren steuern dann ihrersits weitere Schaltermengen, die auch flexibel sind. Man kann etwa einen Bildschirm als eine Mengen von Schaltern, die wir Pixel nennen auffassen. Die Schalter des Prozessors bestimmen dann, welch Pixel am Bildschirm leuten und welche nicht.

bild Lochkartenlese

.... dass einzelne Teile der Steuerung variabel sind und dass einzelne Teile der Steuerung auch in anderen Steuerungen verwendet werden können.

Solch flexible Schaltermengen werden Software genannt, weil sie leicht in verschiedene Konstellationen gebracht werden können.