Programm        zurück ]      [ Stichworte ]      [ Literatur ]      [ Die Hyper-Bibliothek ]      [ Systemtheorie ]     
Homonyme: Computerprogramm, Fernseh- oder Kinoprogramm, Programm in der Theorie von Luhmann, Programm in der NLP
siehe auch: Daten und Programme, programmieren

 
 

Differenztheoretisch bezeichne ich als Computer-Programm eine "Difference" zwischen einem Text (wie dem nebenstehenden Beispiel) und einer Instanz des Programm-Objektes, das den schaltsinnmässigen Zustand des mit dem Programm gesteuerten Automaten bestimmt. Ein Computerprogramm ist differentiell ein spezieller Text.

Als Text ist ein Computer-Programm eine Konfiguration von Schaltern, die als Beschreibung des Zustandes der programmgesteuerten Maschine gelesen werden kann. Die Konfiguration von Schaltern kann beispielsweise durch eine Lochkarten repräsentiert werden. Das sogenannte "Einlesen" der Karte - das mit Lesen nichts zu tun hat - bewirkt, dass der Steuerungsmechanismus in den entsprechenden Zustand versetzt wird. Anstelle der Lochkarte können beliebige andere Artefakte verwendet werden, die man wie Lochkarten strukturieren kann. Ueblicherweise wird heute ein sogenannter (Hard-)Disk beschrieben, der dann dieselbe Funktion wie eine Lochkarte hat (ausführlicher in Wie funktioniert ein Computer?).

Die sekundäre Lesbarkeit des Programmes beruht darauf, dass die Schalterkonfiguration durch die Implementierung einer Programmiersprache als Code erscheint, der interpretiert werden kann. Als sekundär lesbar bezeichne ich Programme, weil sie primär als Computersteuerung fungieren, also nicht gelesen werden. Die Lesbarkeit dient nicht der Steuerung, sondern dem Programmierer.

Als Objekt-Instanz ist ein Programm ein bestimmter Zustand einer Menge von Schaltern in der Maschinensteuerung. Der Steuerungzustand wird durch den Programmcode definiert. Bei einem mit Lochkarten programmierten Computer repräsentiert die Lochkarte den Programmcode. Jedes "Einlesen" der Karte erzeugt insofern eine Instanz des Programmes, als der Steuerungsmechanismus dann durch das Programm-Objekt beschrieben wird (mehr über die Objekt-Terminonlogie im Kontext des Programmierens).

  

Ein Beispiel aus dem Netz

PROGRAM wuerfelwurf; 
USES crt;
VAR anzahl, wurf, treffer: longint;
    augenzahl: integer;
BEGIN
   clrscr;  
   writeln; writeln;
   write ('Anzahl der Würfe: '); readln (anzahl);  
   writeln; writeln;
   writeln('Würfe Würfe m. Augenzahl 6
      Rel. Häufigkeit'); 
   writeln; 
   randomize;
   treffer: = 0;  
   FOR wurf: = 1 TO anzahl DO  
   BEGIN 
       augenzahl: = random(6) + 1;  
       IF augenzahl = 6 THEN 
            treffer: = treffer + 1; 
       IF wurf mod 100 = 0   
           THEN writeln(wurf: 6, treffer:
                    17, treffer/wurf: 25 : 8)  
   END; 
   readln 
END. 


Anmerkungen:

Differenztheoretisch ist auch eine andere Beschreibungsebene interessant. Wo von Programmen die Rede ist, taucht immer auch die Vorstellung (die Redeweise) auf, dass ein Programm eine Anweisung (oder eine Menge von Anweisungen) für einen Computer darstelle, dass also mit dem Programm dem Computer "gesagt" wird, was er tun soll/muss. Die Programmiersprache erscheint dann als Sprache, die der Programmierer mit dem Computer spricht. Diese krude Idee beruht auf einem didaktischen Trick, mit welchem Anfänger in die Programmierung eingeführt werden: Man muss es dem Computer ganz genau sagen! Programmierer bleiben oft bei dieser kindischen Formulierung, weil ihnen gleichgültig ist, wie man über das Programmieren spricht (sie sprechen nicht darüber, sie tun es). Eigentliche Programmierer (die dann die anderen Programmierer abschätzig als "Codierer" bezeichnen) bezeichnen sich selbst aber als Systemanalytiker, die Programme oder Programmanforderungen analysieren. Analytiker imaginieren natürlich eine sprechende Maschinen, sondern schauen im Programm, was in der Maschine passiert. Sie analysieren Programme (auch erst entworfene Programme, die noch nicht "codiert" wurden) als Beschreibung, als dynamische Pläne der Maschine davon, was die Maschine macht. Man kann deshalb eine Differenz formulieren, die zwischen Programmierern zu finden ist:
Eine Anweisung (in Computerprogramm-Form) ist die Differenz zwischen einer Anweisung und einer Beschreibung. Wenn ichProgramm- Anweisung sage, meine ich den Unterschied zwischen Anweisung und Beschreibung, dort wo die Beschreibung als Anweisung gelesen wird. Sprachlich wird diese Differenz auch im Plan wiederholt: Der Stadtplan sagt ja auch nicht, wird die Stadt gebaut werden sollte.

Und das noch: Die Bibel-Uebersetzung zu "Du sollst nicht töten!" versteckt diese Unterscheidung. Man kann den hebräischen Text gleich gut auch so übersetzen: "Du wirst nicht töten". Das erste ist ein Gebot, das zweite ist eine Verheissung. Das erste richtet sich an einen Unmenschen, das zweite an einen Menschen.

Und auch das noch: J. Searle invertiert dieses Verhältnis und argumentiert, dass man von Beschreiben zum Sollen gelangen kann. Das letzte Kapitel seines Sprechakt-Buches heisst "Die Ableitung des Sollens aus dem Sein". Damit zeigt J. Searle, dass die Anweisung als Differenz keineswegs an Computerprogramme gebunden ist. Und F. Taylor hat das in seinem Taylosimus schon lange vor J. Searle gezeigt (vgl: Todesco: Der rationale Kern im Taylorismus ).


Chaotische Gegendarstellung aus dem Brockhaus – Die Enzyklopädie:
Programm kommt vom griechischen Begriff „programma“. Die genaue Übersetzung dafür ist „schriftliche Bekanntmachung“ oder „Tagesordnung“. Wir verstehen unter einem Programm in unserem Alltag eine gewisse Reihenfolge. Bei einer Veranstaltung beispielsweise läuft ein Teil nach dem anderen ab, nach einem gewissen Programm. In einem Theaterprogramm hat man Notizen über die Darbietung. Sie sind ebenfalls der Reihe nach geordnet. In einem Programm können aber auch Grundsätze dargelegt werden. Bei einem Parteiprogramm geht es darum festzuhalten, welche Ziele man erreichen möchte und wie man dies zu tun gedenkt. Das Programm kann also auch eine Art Konzept sein, ein Arbeitsplan. Das Wort Programm kommt vor allem auch in der Informatik vor. In einem Computerprogramm handelt es sich um eine Befehle oder Anweisungen, die in einer gewissen Reihenfolge ausführt werden sollen. Das Programm dient hier als Werkzeug um ein Ziel zu erreichen. Beispiel: Ich arbeite mit dem Programm für das 10-Finger-System. Mein Ziel: Ich will das 10-Finger-System lernen.


Konditional-Programm
Sowohl Zweck- als auch Konditionalprogramme sind 'Einrichtungen', die die soziale Akzeptanz/Nichtakzeptanz von Verhalten regulieren. Programme kommen damit nicht nur in Organisationen vor. Sie waren auch bei Luhmann nie nur auf Verwaltungen beschränkt. Klare Ausführungen dazu in Luhmanns 'Soziale Systeme' (1984), S.432f.


 
[wp]