Mattes: Gedanken eines Laien...

Beitrag lesen

In der Anfangszeit der Computerrei wurde ein Computerprogramm dediziert für einen einzigen Computer geschrieben. Das lief dann auch nur da. Das war in Zeiten, in denen es weltweit auch nur eine Handvoll Rechner gab, kein Problem, denn die paar wenigen Firmen, die einen besassen, brauchten ohnehin Spezialsoftware speziell für ihr Unternehmen, die sie selber entwickeln (lassen) mussten.

Es wurde dann schwierig, als es mehr und mehr (zum Teil sehr verschiedene) Rechner gab, und man gerne auch das eine Programm für Rechner A auf einem anderen Rechner B laufen lassen wollte, ohne es komplett neu schreiben zu müssen.

Der Übergang von Maschinensprache zu ersten echten Programmiersprachen (Assembler) entsprang nicht dem Wunsch der Portabilität, sondern der Vereinfachung, und daran hat sich bis vor vielleicht 20 Jahren auch nicht viel geändert.

Die ersten "Handvoll Rechner" wurden über Lochkarten programmiert, deren Löcher die Bits darstellten, die das Rechenwerk zu dieser oder jener Operation veranlassten. Ganz einfache Rechner hatten Schalter, fortgeschrittene konnten von Magnetdatenträgern lesen, das Prinzip bleibt aber gleich: Der Prozessor wird mit Zahlenkolonnen, der Maschinensprache, gefüttert, die er abarbeitet.

Der Schritt zu Assembler war eine Versprachlichung der Löcher. Aus der Maschinensprache "0815 1232" wird in Assembler "move #32, D4". Das ist aber immer noch auf die jeweilige Hardware bezogen, nur weitaus leichter zu schreiben.

Auch der Schritt zu Hochsprachen irgendwann in den Fünfzigern hat die Entwicklung nur weitergeführt in die Richtung echter menschlich-mathematischer Sprache. Statt o oooo oo o ooo o o o oo oo ooooo ooo o o o o oooo oo o o o oooo in einer Pappkarte oder "move #10, D1; move (A3)+, D5; add D1, D5; move D5, 5(A2)", heißt es in Hochsprachen "x = c + 10".

Die Programmierung wird durch diese Abstrahierung, die Trennung von Problem und Hardware, schlicht einfacher, mithin für weitere Kreise nutzbar und die Maschinen effizienter anwendbar.
Das sich solche Ausdrücke leichter auf andere Systeme übertragen lassen, war zweifelsohne ein sehr erwünschter Nebeneffekt, aber nicht das Hauptziel. In dem Fünfzigern hatten Computer immer noch Seltenheitswert und wurden mit Gold aufgewogen;  bei einem Wechsel des Rechnersystems waren die Programme nur eine kleinere von mehreren sehr großen Hürden. Bevor ein neues System angeschafft wurde, war das alte mitsamt seiner Programme schon so in die Jahre gekommen, dass auch gleich etwas Neues programmiert werden konnte.