Eine Geschichte des "Computers"
von Rolf Todesco
zurück ]      [ Stichworte ]      [ Literatur ]      [ Die Hyper-Bibliothek ]      [ Systemtheorie ]

Vorbemerkung

Welche Geschichte des "Computers" ich schreibe, ist von der gewählten Perspektive auf den gewählten Gegenstand abhängig. Keine Sache erzählt ihre Geschichte selbst. Der Computer sagt nicht, was er ist und unter welchen Gesichtspunkten er zu betrachten wäre. Ich sage, indem ich seine Geschichte erzähle, was ich als Computer bezeichne und wie ich diese Sache als Tat-Sache, also als Resultat bewusster Tätigkeiten sehe.


Der Computer durch seine Geschichte gesehen

Gemeinhin ist klar, was ein Computer ist. Mein PC, mit welchem ich gerade diesen Text schreibe, ist in meinem Commonsens ein Computer. Und es gibt noch einige Geräte, bei welchen ich nicht überlegen muss, ob sie Computer sind oder nicht. Es gibt aber auch etliche Geräte, die je nach Definition noch Computer sind oder eben nicht. Wenn ich eine Geschichte des Computers überhaupt schreibe, ist nicht sehr entscheiden, welche Geräte noch Computer sind, entscheidender ist, wie ich den Computer überhaupt begreife.

Wenn ich den Computer beispielsweise als "Rechner" sehe, weil er eben so genannt wird, schreibe ich seine Geschichte ganz anders als wenn ich nicht ans Rechnen denke. Die meisten Computergeschichten, die ich kenne, fangen mit der Mathematik von antiken Völkern an und erwähnen unter anderem Leibniz, der das Dualsystem erfunden habe. Ein in diesem Sinne ganz typischer Abriss einer Computergeschichte steht in der Wikipedia. Aufgrund meiner eigenen Erfahrungen mit Computern käme mir nie in den Sinne, den Computer als Rechner zu sehen, obwohl ich das Wort "Computer" leicht durch das Wort "Rechner" (üb)ersetzen kann. Mir scheinen die beiden Wörter so arbiträr wie jedes eigentliche Symbol. Ich benutze meinen Computer praktisch nie als Rechner, auch wenn ich natürlich sehe, dass ich in meiner Buchhaltungsapplikation mit dem Computer Zahlen addiere. Ich benutze meinen PC für sehr verschiedene Tätigkeiten. Aus der Buchhaltungsmaschine wird er praktisch per Knopfdruck eine Textbearbeitungsmaschine, ein Internettelefon oder eine Spielkonsole. Die verschiedenen Funktionen sind in dem Sinne "soft", als ich sehr einfach von einer zur andern wechseln kann, weshalb ich den Computer als Software begreife, die eine Hardware ist, aber eben funktional nicht so festgelegt wie einfachere Maschinen oder Geräte. Der Computer ist insofern ein spezielles Gerät, als es verschiedenste Funktionen repräsentieren kann.

Meine Black&Decker kann ich mit wenigen Handgriffen von einer Bohrmaschine in eine Schleifmaschine verändern. Eine Bohrmaschine ist meine "Black&Decker" aber nur, wenn ein Bohrwerkzeug eingespannt ist. Andernfalls kann ich mit ihr nicht bohren, auch wenn in der Umgangssprache oft genau davon abgesehen wird, wenn von einer Bohrmaschine die Rede ist. Meistens ist dann eine Teil-Maschine gemeint, in welcher man Bohrer einspannen kann.

Der Ausdruck "Software" wird umgangssprachlich diffus für "Computerprogramme" verwendet, gemeint ist aber wohl recht unbewusst, dass das, was dann Hardware genannt wird, für sich alleine zu nichts zu gebrauchen ist. Die Hersteller der umgangssprachlich sogenannten Hardware produzieren eigentliche Halbfabrikate, die erst durch Programme brauchbare Geräte werden. Eigenartig ist, dass Halbfabrikatehersteller grosse Industrien aufbauten, während die Produzenten von verwendbaren Maschine sehr lange Zeit industriell praktisch unerheblich geblieben sind. Nach den grossen "Hardware"-Industrien a la IBM entwickelten sich eine sogenannte Software-Industrie a la Microsoft, die ebenfalls nur Halbfabrikate produziert und schliesslich eine Dienstleistungindustrie a la Google, die nur noch für sich selbst produziert und Diensteistungen verkauft.


Die Funktion des Computers

Für den Benutzer hat der Computer in jedem Verwendungszusammenhang immer eine konkrete Funktion. Ich kann ihn beispielsweise als Rechner oder als Textwerkzeug benutzen, wenn entsprechende Programme aktiv sind. Moderne Computer können sich virtuell geben, also scheinbar verschiedene Benutzer in verschiedenen Funktionen unterstützen, was also als Windowstechnik bezeichnet wird. Aber jeder Benutzer weiss natürlich, was er mit seinem virtuellen Computer gerade macht. Als Computer bezeichne ich in diesem Sinne eine Art Kollektivsingular, in welchem alle konkreten Computerapplikationen in einem singulären Ausdruck bezeichnet sind, während ich mit dem Ausdruck "Software" die einfache Veränderung der Funktion hervorhebe.

Die einfache Veränderung der Funktion des Computers beruht darauf, dass alle Funktionen, die ein Computer erfüllen kann, seiner eigentlichen oder generellen Funktion unterliegen, die darin besteht, dass ich mit dem Computer bedingte Symbolkörper erzeugen kann. Sein Zweck besteht darin, bestimmte symbolische Anzeigen zu generieren, die abhängig von gewählten Programmen, Daten und Eingaben sind. Ich verwende den Computer - was ich eben praktisch nie mache - beispielsweise als Rechner, indem ich ein entsprechendes Programm aufrufe, "2 + 3" eingebe und dann "2 + 3 = 5" angezeigt bekommen will. Die "5" sehe ich als ein durch die Eingaben und den programmierten Zustand des Computers bedingtes Symbol.

Damit ich bedingte Symbolkörper generieren kann, muss ich Symbolkörper überhaupt erzeugen können. Was immer Symbole auch noch sind, sie haben Artefakte als Träger, die in dem Sinne "geschrieben" werden, als die Herstellung von Symbolkörpern - von verschiedenen anderen Fällen wie etwa Zeichnen - abgesehen als "Schreiben" bezeichnet wird. Schreiben kann ich beispielsweise mit einem Bleistift, aber auch der Bleistift ist nicht vom Himmel gefallen und ohne Papier wär er nicht viel wert. Hinter dem Bleistift ist viel Technologie und die Erfahrung, dass und wie Graphit so zu Papier gebracht werden kann, dass ich Zeichen sehen kann.

Wenn mich nur interessiert, was ich schreibe, kann ich übersehen, dass ich schreibe und dabei Artefakte herstelle, also beispielsweise geformte dreidimensionale Graphitgegenstände, die ich als Buchstaben bezeichne, auf einem Papier physisch aufbaue, so wie ich einen Tisch oder ein Haus produziere.

Mit einer Schreibmaschine produziere ich die Zeichenkörper quasi indirekter als mit dem Bleistift. Ich mache sozusagen eine Eingabe auf einer Tastatur und produziere damit ein Ausgabe, die zur Eingabe in einem unmittelbaren, oder unbedingten Verhältnis steht. Beim Computer geht es um das bedingte Herstellen von Symbolkörpern, was viele Menschen schlicht vergessen lässt, dass es immer auch um das Herstellen von materiellen Symbolkörpern geht. Ob diese Symbolkörper gedruckt, gelocht oder am Bildschirm erscheinen, ist so einerlei wie deren Codierung. Und ebenso belanglos für das Resultat und den Zweck des Computers ist, ob die Konstruktion "analog" oder digital" oder "dual" oder "dezimal" ist. Nur der Konstrukteur des Computers muss sich für eine bestimmte Technik entscheiden. Es gibt keine Symbolkörper, die nicht materielle Artefakte sind.

Symbolkörper am Bildschirm werden oft nicht als Artefakte begriffen, weil es sich um dissipative Strukturen handelt. Die "5", die ich am Bildschirm sehe, erlischt, wenn ich die Stromzufuhr unterbreche. Die einmal gedruckte "5" auf dem Papier dagegen ist konservativ, sie bleibt relativ lange erhalten. Bei moderneren Computern schreibe ich die "5" auch in den Speicher oder auf die Harddisk, was noch andere Formen der materiellen Form der Symbolkörpern entspricht. Aber unabhängig von der jeweiligen Form sind Symbolkörper immer materielle Gegenstände. Im klassischen Fall der Lochkarte etwa, ist die "5" eine Karte aus Karton mit Löchern, die die "5" repräsentieren.


Der Computer als Blackbox

Unter funktionalem Gesichtspunkt erscheint mir der Computer als Blackbox, in welcher Eingaben mit einer bedingten Ausgabe verbunden werden. Mit dem Ausdruck "Blackbox" verweise ich darauf, dass die bedingte Verknüpfung von Ein- und Ausgaben in Form von Erklärungen rekonstruiert werden kann. Als Erklärung verstehe ich die Beschreibung des Mechanismus, mit dem dieser Zusammenhang zwischen Ein- und Ausgabe hergestellt werden kann. Im Falle von Computern ist die Erklärung die Beschreibung seiner Funktionsweise. Sie ist in dem Sinne trivial, als der Computer konstruiert werden. Ich kann ihn also re-konstruieren und dem entsprechend seinen Mechanismus beschreiben.

Die Re-Konstruktion wiederholt die Konstruktion. Die Konstruktion erscheint als Lösung einer Aufgabenstellung. Die Geschichte des Computers stelle ich im Nachhinein so dar, dass dessen Erfindung und Entwicklung die Lösung der Probleme darstellt, die ich aktuell mit Computer löse. Geschichte schreibe ich dabei rückblickend, also mit Kategorien, die ich am Ende der Entwicklung gewonnen habe und die am Anfang der Entwicklung noch nicht so zur Verfügungen gestanden haben. In der Evolutionsgeschichte ist der Mensch der Schlüssel zum Verständnis des Affen und dessen Vorstufen. Wenn ich den Menschen schon kenne, kann ich sehen, wohin sich der Affe entwickelt hat. Aber wenn ich erst Würmer und Käfer kenne, kann ich nicht vorhersehen, was daraus noch werden wird. In diesem Sinne ist der Computer ein Kind seiner eigenen Geschichte, die niemand oder nur ein "Seher" voraussehen konnte. Dazu gibt es die vielen, scheinbar komischen Zitate, in welchen die Zukunft der Computer ganz falsch eingeschätzt wurde. Der Chef der IBM meinte, dass die ganze Welt etwa fünf Computer brauchen werde - er hatte dabei vermutlich nicht den Computer im Kopf, den ich heute kenne.

Von heute aus gesehen rekonstruiere ich die Entwicklung der Funktionsweise jener Geräte, die ich heute als Computer bezeichne. Rechnen spielt dabei praktisch keine Rolle und "Geistiges", wie etwa ein Verstehen von Symbolen, spielt gar keine Rolle. Es geht ausschliesslich um die Produktion von Artefakten, die ich als Anwender des Computers als Symbole deuten kann.

Der Computer erscheint so als Lösung des Problems, bedingte Symbole zu generieren. Wenn ich beispielsweise einen Brief schreibe, dann stelle ich physisch Buchstaben her, aber natürlich nicht nach Zufall, sondern in Abhängigkeit von Bedingungen, die ich selbst erfüllen will. Wenn ich dabei einen Bleistift verwende, muss ich selbst viele Teiltätigkeiten erledigen, unter anderem muss ich das Graphit auf dem Papier so anordenen, dass es Buchstaben gibt. Ich kann das Darstellen von Symbolen analysieren und einzelne Aspekte mechanisieren. Das hat unter anderen Gutenberg getan. Mit einer konventionellen Schreibmaschine bin ich noch sehr nahe beim Bleistift, ich produziere einzelne Buchstaben aus Graphit auf einem Papier. Mit meinem PC produziere ich - in einem etwas komplizierteren Verfahren - Buchstaben am Bildschirm. Es geht darum, wie viel ich nicht mehr selbst machen muss, weil ich es durch die Maschine machen kann.

In der Geschichte der Computer gibt es anfänglich sehr einfache Ausgaben. Die Zuse 1 beispielsweise - die einer meiner Lieblingscomputer ist, weil er sehr anschaulich arbeitet - zeigt die Resultate in Form von verschieden positionierten Metall-Zeigern, die durch den Mechanismus, ähnlich wie Uhrzeiger in die jeweilige Position geschoben werden. Der Anwender kann in den Anzeigen Daten oder Informationen sehen, so wie ich auf der Uhr sehen kann, wie spät es ist, oder ob ich noch rechtzeitig zu einer Verabredung komme, ohne dass das für die Uhr die geringste Rolle spielt. Maschinen machen, was sie machen, weil sie so konstruiert sind.


Der Computer zwischen Maschine und Gerät

Gesteuert wird eine bedingte Ausgabe. Ich habe zwei Ausgabegeräte auf meinen Bürotisch stehen, einen Bildschirm und einen Drucker. Mit diesen beiden Geräten produziere ich sehr verschiedenartige Symbolkörper. Aber in Bezug auf das von mir beobachtete Prinzip der Steuerung sind die beiden Geräte praktisch gleich. Umgangssprachlich wird der Bildschirm oft als Teil des Computers gesehen, der Drucker dagegen eher nicht. Funktional gesehen spielt es keine Rolle, in welcher Form und wo die Symbole erzeugt werden.

Wenn die Symbolkörper am Bildschirm erscheinen, sind sie Teile des Computers, der dann in einem bestimmten Zustand ist. Wenn die Symbolkörper ausgedruckt werden, sind sie mittels des Computers hergestellte eigenständige Artefakte. Ich unterscheide jenseits des Computers Maschinen und Geräte, wobei ich Maschine gemeinhin für angetriebene Werkzeuge und den Ausdruck "Werkzeug" mit transitiven Verben verwende. Ich sage etwa: Mit dem Messer schneide ich das Brot. Dagegen ordnen ich Geräten wie dem Telefon keine Objekte zu, sie dienen mir quasi direkt. Ich kann mit Werkzeugen als Mittel einen Stuhl herstellen, während der Stuhl mein Bedürfnis bequem zu sitzen befriedigt (vgl. B. Spiegel, 1999:108), also nicht Mittel für ein Mittel ist. Geräte, die nur anzeigen, werden als Instrumente bezeichnet. Aber auch diese Logik ist im Computer aufgehoben. Um diesen Problemen auszuweichen, wird der Computer oft als Medium bezeichnet, was die Anzeige in eine weitere Perspektive verschiebt.

Diese Einteilungsproblematik ist unter funktionalem Gesichtspunkt aufgehoben, wenn ich die Bedingheit der Symbolkörper als Steuerungsproblem sehe, also davon absehe, wie die Symbolkörper hergestellt werden.

Diese Einteilungsproblematik ist unter funktionalem Gesichtspunkt aufgehoben, wenn ich die Bedingheit der Symbolkörper als Steuerungsproblem sehe, also davon absehe, wie die Symbolkörper hergestellt werden. In gewisser Perspektive bearbeite ich mit den Computer diesen selbst, indem ich ihn in bestimmte Zustände versetze. Ein Drucker wird dann in dem Sinne zu einem Peripheriegerät, als der Drucker selbst mit seinen Zuständen noch zum Computer gehört, aber das, was aus diesen Zuständen in der Umwelt des Systems passiert, nicht zum Computer gehört, sondern mittels des Computers hergestellt wird. Gesteuert wird in dieser Perspektive der Zustand des Druckers, so wie der Zustand des Bildschirms gesteuert wird. Was ausserhalb des Computers passiert, gehört nicht mehr zum Computer. Dass Tinte den Computer verlässt und auf dem Papier Muster hinterlässt, ist äquivalent dazu, dass der Bildschirm Licht in die Augen des Benutzers fliessen lässt. Das ist die Frage der Systemgrenze.


Software als Kopie

Als Software bezeichne ich zunächst die flexible Funktion des einzelnen Computers, der ohne Aufwand von einer Buchhaltungsmaschine zu einer Spielkonsole wird. Diese Umstellung beruht darauf, dass beide Funktionen Symbole generieren. Die Software hat aber einen zweiten Aspekt, die darin besteht, dass bestimmte Teile des Computers praktisch ohne Aufwand vervielfältigt werden können. Im umgangssprachlichen Ausdruck Software ist diffus mitgemeint, dass sich Computerprogramme - wenn sie in einer bestimmten Form vorhanden sind - mit sehr wenig Aufwand kopieren lassen.

Vergessen geht dabei, dass ein Computerprogramm, das aus einem Stappel Lochkarten besteht, sich nur mit erheblichem Aufwand kopieren lässt, weil man dazu ein Lochkarten-Kopiergerät braucht. Und wenn ich das nicht vergesse, merke ich sofort, dass sich Computerprogramme keineswegs ohne Aufwand kopieren lassen, weil ich ein elektronisch gespeichertes Computerprogramm ja nur mittels aufwendiger Technik kopieren kann. Ich brauche dazu mindestens einen moderne Computer. Aber natürlich stimmt, dass wenn ich die technische Einrichtung besitze, das Kopieren nicht viel Aufwand bedeutet. Das gilt mehr oder weniger für alle Artefakte, die mittels Automaten produziert werden.

Computerprogramme sind materielle Teile des Computers, so wie ein Bohrer ein materieller Teil der Bohrmaschine ist. So wie ein Bohrer durch Formgebung aus einem Materiel hergestellt wird, so wird ein Computerprogramm hergestellt. Ich kann beispielsweise - wenn mein "Hardware"-Halbfabrikat entsprechend konstriert ist - Karton verwenden, den ich zu Karten zuschneide und entsprechende Löcher stanze. Dann kann ich den Kartenstappel in meine Halbfabrikat einspannen, so wie ich einen Bohrer in die vermeintliche Bohrmaschine einspanne, um eine brauchbare Maschine herzustellen.

Denselben Bohrer kann ich in verschieden Bohrmaschinen-Halbfarbikate einsetzen und denselben Programmkartenstappel kann ich in verschiedenen Computer-Halbfabrikaten verwenden. Und wenn ich eine dafür geeignete Maschine habe, kann ich Bohrer und Kartonkarten kopieren. Ich höre oft, dass es bei Computerprogrammen auf die Logik, nicht auf die Kartonkarten ankommt, aber das stimmt bei Bohrern auch. Sie müssen eine bestimmte Funktion erfüllen, dazu müssen sie nicht aus einem bestimmten Materiel bestehen - nur ohne geformtes Material geht es nicht.

Bohr-Automaten, die entsprechend programmiert sind, haben ein Fach mit verschiedenen Bohrern integriert. Sie wechseln die Bohrer automatisch, wenn die Bearbeitung eines Werkstückes das erfordert. Bei solchen Bohrautomaten gehört zur Herstellung, dass ich die die entsprechenden Bohrer ins Fach lege und natürlich ein Programm, dass die Verwendung der verschiedenen Bohrer steuert. Analog dazu kann ich in einem Computer verschiedene Programme in einem "Speicher-Fach", beispielsweise sofern vorhanden auf dem Harddisk ablegen. Der Computer wählt dann das jeweilig benötigte Programm wie der Bohrautomat verschiedene Bohrer wählt.

Auf einer bestimmten geschichtlichen Entwicklungsstufe des Computers verwendet der Computer nicht mehr die ins "Speicherfach" eingelegten Programme, sondern Kopien davon. Wenn das Programm beispielsweise auf dem Harddisk gespeichert ist, wird durch den Computer ein Kopie davon im sogenannten Arbeitsspeicher erstellt, wenn das Programm gebraucht wird. Unter bestimmten technischen Bedingungen ist es einfacher eine Kopie herzustellen, als das Original zu transportieren. Ich erkenne dieses Muster etwa beim Telefon, wo am andern Ende der Leitung eine Kopie meines Redens hergestellt wird, damit ich nicht selbst dorthin gehen muss. Der Harddisk dient also als Speicher für ein relatives Original. Er wird aber nicht geleert, wenn das Programm gebraucht wird, weil Kopien erstellt werden. Und weil das Erstellen von Kopien unter gegebenen Verhältnissen so wenig Aufwand bedeutet, können Kopiene des Programmes auch fast ohne Aufwand auf andere Halbfabrikate übertragen werden. Aber auch in diesem Fall müssen materielle Kopien hergestellt werden. Es weht kein Geist zwischen den Maschinen.


Die Form des Computerprogramms

Auf einer bestimmten geschichtlichen Entwicklungsstufe des Computer erscheint ein Computerprogramm als Text, der in einer sogenannten Programmier-Sprache geschrieben wurde. Diese Erscheinungsform des Programmes beruht darauf, dass Text ebenso wie Lochkarten als Schaltermenge fungieren kann und ebenso wie Lochkarten als materieller Maschinenteil in einen Computer integriert werden kann, wenn der Computer entsprechend konstruiert wurde. In der Steuerung des Computers geht es darum, dass dieser bestimmte Schaltungszustände durchläuft. Die Codierung dieser Zustände in einer Programmiersprache machen das Programm quasi sekundär lesbar. Als sekundär lesbar bezeichne ich Programme, weil sie primär als Computersteuerung fungieren, also nicht gelesen werden. Als Text ist ein Computer-Programm eine Konfiguration von Schaltern, die als Beschreibung des Zustandes der programmgesteuerten Maschine gelesen werden kann. Die "Lesbarkeit" dient nicht der Steuerung, sondern dem Programmierer.

Die sogenannte Programmiersprache ist eine Erfindung, die keinen Erfinder kennt. In vielen Computergeschichten wird diese Erfindung Ada Lovelace zugerechnet, weil sie Algorithmen mit der Maschine von C. Babbage in Verbindung gebracht hat. Sie invertierte ihre Entdeckung in Anlehnung an Jacquards Webstühle mit der Aussage: ”Wir können höchst zutreffend sagen, dass die analytische Maschine algebraische Muster webt.” Aber das sind meines Erachtens wirkliche Geschichten für das Feuillton.

Die effektive Programmierung machte durch die Codierung auf Lochkarten einen subtilen Übergang von der direkten Manipulation des Schaltzustandes durch gesteckte Kabelverbindungen zu einer Art Assembler-Kalkül, das zunächst nicht als Sprache wahrgenommen wurde, so wie eben auch die Algebra nicht als Sprache gesehen wurde. Erst als das Augenmerk stärker auf die Programmierung fiel, wurde darin eine Notation entdeckt, die alsbald so vereinfacht wurde, dass Programmierer ausgebildet werden konnten, die von den elektrischen Halbfabrikaten keine Ahnung hatten, sondern nur logisch geschult werden mussten. Cobol wurde sogar explizit zu Handen von nicht sehr intelligenten Menschen geschaffen. 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. Aber unabhängig davon, wer programmieren sollte, setzte sich die Backus-Naur-Form in der Algol-Gemeinschaft durch, die als Ursprung der Programmiersprache gesehen werden kann, obwohl sie keine Programmiersprache ist.

Sehr früh entstanden quasi intuitiv Programmiersprachen wie Basic und später auch eine beachtliche Vielfalt von verschiedenen Ansätzen.

Als Programmiersprache bezeichne ich eine Syntax, die durch die Konstruktion des jeweiligen Computers bestimmt ist. Es ist in dem Sinne keine Sprache, als sie nicht in Kommunikation erscheint.


Jenseits der Programmiersprachen

Die Programmiersprachen cheinen eine notwendige Bedingung ....Jenseits der Programmiersprachen... steuer und Regeln ...

Erfinder

1937 C.Babbage
1937 K. Zuse

Erfindungen

1937 Zuse Z1
1971 Intel 4004
1972 Intel 8008

Industrie

1937 Beckman Coulter Gründung 1935, 1955 Shockley Semiconductor als Tochtergesellschaft.
1955 Shockley Semiconductor Laboratory Transistoren auf Silicium.
1957 Fairchild Semiconductor, abgesprungenes Shockley Personal
1957 Intel Corporation, abgesprungenes Fairchild Personal

Links

Leitenberger