Wie wurde das erste Programmierprogramm programmiert, ohne dass der Programmierer ein Programm zum Programm programmieren hatte?

10 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ganz am Anfang hatten die Computer so wenig Speicherplatz, dass ein "Programmierprogramm" gar nicht drauf gepasst hätte. Z.B. der ENIAC hatte eine Speicherkapazität von etwa 100 Bytes. Es würde also nicht mal der erste Satz dieser Antwort in den Speicher passen.

Die ersten Computer wurden noch für jede Aufgabe fest verdrahtet. Später hatten die Computer eine einfache Maschinensprache, so dass man das Programm als Assemblercode mit Stift und Papier aufschreiben konnte und dann relativ einfach in Maschinensprache übersetzen konnte. Die Programme wurden dann oft "gefädelt". Also man hat sich sein Programm per Hand in Maschinensprache übersetzt und dann jede Menge sehr dünne Kabel genommen und sie für jede 1 durch einen Ferritring gefädelt und für jede 0 am Ferritring vorbei geführt. Der Computer konnte dann erkennen, welche Kabel wie gefädelt waren und brauchte nur wenige Byte Ram-Speicher, um das Programm ausführen zu können.

Soweit ich weiß, ist Fortran die erste Hochsprache, die damals auf den großen IBM Computern gelaufen ist. Der Compiler wurde vermutlich gefädelt, der Quellcode im Fortran-Code wurde mit Lochkarten eingelesen und das Ergebnis wieder direkt auf Lochkarten gestanzt.

Die Computer damals hatten aber auch die Möglichkeit, mit Schaltern direkt in den RAM zu schreiben und einzelne Takte per Hand auszuführen. Das wurde recht lange beibehalten und ging auch noch mit den ersten Heimcomputern (z.B. Altair 8800).

Dieses geschlossene System, wie wir es heute kennen, kam erst später. Also dass man einen Computer mit einem laufenden Programm braucht, um selbst ein Programm schreiben zu können.

trida  27.06.2022, 22:27

Wow das ist echt interessant. Hab noch nie über die Frage nachgedacht und war jetzt überrascht wie spannend die Antwort ist! Dankeschön!

2

Ohne "Programmierprogramm" - es gibt kein "Programmierprogramm".
Es gibt nur IDEs und Compiler (und natürlich noch mehr, aber die sind unwichtig).
IDEs braucht man nicht und bevor es einen Compiler gab, hat man eben den Kram, den der Compiler generieren würde, selber geschrieben.

Palladin007  10.04.2022, 15:06

PS:

Damals waren das nur verhältnismäßig einfache elektrische Schaltungen, ganz am Anfang hat man dann eben die Schaltung für sein "Programm" angepasst. Später hat man dann Vereinfachungen entwickelt, damit man nicht ständig neu verdrahten musste - z.B. Lochkarten.

2

Bit für Bit in "Maschinensprache" - dass sind die direkten Befehle, welche eine CPU versteht - wie zum Beispiel

JMP (Jump), READ, WRITE, MOVE .... und so weiter

Diese Befehler wurden in Kombinationen aus Nullen und Einsen - also tatsächlich bitweise - eingegeben.

Als erste offizielle Programmiersprache gilt übrigens "Plankalkül". Diese wurde vom Erfinder des Computers, Konrad Zuse, für seine Computer entwickelt.

ein Programm zum Programm programmieren

Nun denn, ein Programm kann man auch auf Papier schreiben. Es braucht also gar kein Programm, um ein Programm zu schreiben. Fun Fact am Rande: PGP ist ein Programm, um E-Mails zu verschlüsseln. Das wurde in Amerika entwickelt. Weil aber aus Amerika keine Programme exportiert werden durften, die eine starke Verschlüsselung ermögliche, war der Export von PGP verboten. Daher hat man den Quelltext als gedrucktes Buch veröffentlicht. Das war ein Buch, keine Software. Das durfte also weltweit vertrieben werden. Dann haben sich fleißige Leute hingesetzt, und das Zeug abgetippt ... Papier geht also immer.

https://de.wikipedia.org/wiki/Geschichte_der_Programmiersprachen

Als erste Arbeit im Bereich der mathematisch-logischen Programmierung gilt eine Vorschrift für die Berechnung von Bernoulli-Zahlen, die Ada Lovelace in den Jahren 1842/1843 für die mechanische Analytical Engine von Charles Babbage erstellte. Dieses Programm konnte zu ihrer Zeit nur von Hand ausgeführt werden, denn wegen Fertigungsproblemen gab es im 19. Jahrhundert keine funktionsfähige Maschine.

Wenn man zu der Zeit anfängt, wo es entsprechende Maschinen gab: Das Programm wurde in Maschinensprache geschrieben, musste also nicht kompiliert werden. Das Programm hat man dann mittels Lochkarten maschinenlesbar gemacht und die Maschine damit gefüttert.

Als erster frei programmierbarer Rechner gilt die Z1 von Konrad Zuse. Das Ding wog über eine Tonne, belegte einen halben Raum und war rein mechanisch.

Man hat den Code mit Hilfe eine Texteditors geschrieben (heute wäre das Notepad).

Ich erstelle meine Programme selbst heute noch so, da es für die Kurznotation von C++, welche ich nutze, keine Entwicklungsumgebung gibt. Ein durch mich selbst erstellter Preprozessor expandiert sie in eine dem Compiler verständliche Fassung.