20 größten Erfindungen in der Computerprogrammierung
In einem der Gespräche, die ich mit unserem Chefredakteur hatte, wurde mir die Frage gestellt, “Wie haben die ersten Programmierer programmiert?” Dies führte zu einer Diskussion über Babbage und Ada Lovelace, an deren Ende ich mich der Forschung zuwandte Wie es alles begann - es sind die vielen ersten in der Computergeschichte.
Ich habe mich in Bücher und Websites eingegraben und bin auf viele Enthüllungen gestoßen: Babbage ist technisch nicht das Richtige Erfinder FORTRAN war definitiv nicht die erste Programmiersprache auf hohem Niveau und wir hatten (wirklich) Stift für CRT-Bildschirme..
Ich war auch überrascht zu erfahren, wie wichtig Kriege waren, um die schnelle Entwicklung der Computerentwicklung voranzutreiben, und auch den Beitrag vieler Frauen, den unsere Lehrbücher zu vernachlässigen entschieden haben. Um die Lücken in der Geschichte von Computern und Programmen zu schließen, habe ich daher 20 erste Computer-Welten zusammengestellt, von Bowling-Bällen bis zum 2. Weltkrieg und alles, was dazwischen liegt.
1. Erster Computer: “Unterschied Engine” (1821)
Das “Difference Engine” war ein mechanischer Computer, der zur Ausgabe mathematischer Tabellen verwendet werden sollte. Im Auftrag der britischen Regierung begann Charles Babbage (alias Pater of Computer) damit zu arbeiten, aber aufgrund der hohen Produktionskosten wurde die Finanzierung eingestellt und Die Maschine wurde nie fertiggestellt.
2. Erster Computer für allgemeine Zwecke: “Analytical Engine” (1834)
Das “Analytical Engine” Es wurde auch ein mechanischer Computer vorgeschlagen, dessen Eingabe gestanzte Karten sein sollte, auf denen Programme und Daten gestanzt waren. Eine weitere Idee von Charles Babbage, diese Maschine wurde ebenfalls nicht fertiggestellt.
3. Erstes Computerprogramm: Algorithmus zur Berechnung der Bernoulli-Zahlen (1841 - 1842)
Ada Lovelace (der erste Computerprogrammierer der Welt) begann 1841 mit der Übersetzung des italienischen Mathematikers Luigi Menabrea über die Analyse-Engine von Babbage. Während der Übersetzung interessierte sie sich für die Maschine und hinterließ bei ihrer Übersetzung Notizen. Eine der Notizen - beachten Sie G, enthielt den Algorithmus zur Berechnung der Bernoulli-Zahlen durch die analytische Engine, die als das allererste Computerprogramm betrachtet wird.
4. Erster funktionierender programmierbarer Computer: Z3 (1941)
Konrad Zuse (der Erfinder der Computer) hatte bereits einen funktionierenden mechanischen Computer Z1, der jedoch nur wenige Minuten funktionierte. Die Verwendung einer anderen Technologie - Relais führte zu Z2 und schließlich zu Z3. Z3 war ein elektromagnetischer Computer, für den Programm und Daten auf externen Lochstreifen gespeichert waren. Es war ein geheimes Projekt der deutschen Regierung und wurde vom Deutschen Institut für Luftfahrtforschung eingesetzt. Bei der Bombardierung Berlins 1943 wurde die ursprüngliche Maschine zerstört.
5. Erster elektronischer Computer: Atanasoff-Berry Computer (ABC) (1942)
Der von John Vincent Atanasoff & Clifford Berry entworfene Atanasoff-Berry Computer oder ABC wurde verwendet, um die Lösung für simultane lineare Gleichungen zu finden. Es war der erste Computer, der anstelle von mechanischen Daten binäre Daten und elektronische Schalter verwendete. Der Computer war jedoch nicht programmierbar.
6. Erster programmierbarer elektronischer Computer: Colossus (1943)
Der von Tommy Flowers geschaffene Koloss war eine Maschine, die den Briten dabei helfen sollte, deutsche Nachrichten zu entschlüsseln, die bereits im Zweiten Weltkrieg von der Lorenz-Chiffre verschlüsselt wurden. Es wurde mit elektronischen Schaltern und Steckern programmiert. Colossus brachte die Zeit, um die verschlüsselten Nachrichten von Wochen auf Stunden zu entschlüsseln.
7. Erster allgemeiner programmierbarer elektronischer Computer: ENIAC (1946)
Gefördert von der US Army, ENIAC oder Elektronischer numerischer Integrator und Computer wurde in der Moore School of Electrical Engineering der University of Pennsylvania von John Mauchly & J. Presper Eckert entwickelt. ENIAC war 150 Fuß breit und konnte so programmiert werden, dass komplexe Operationen wie Schleifen ausgeführt werden. Die Programmierung erfolgte durch Änderung der elektronischen Schalter und Kabel. Es verwendete Kartenleser für die Eingabe und Kartenstempel für die Ausgabe. Es half bei Berechnungen zur Durchführbarkeit der weltweit ersten Wasserstoffbombe.
8. Erster Trackball: (1946/1952)
Warum die zwei Jahre für den ersten Trackball? Erlaube mir zu erklären.
Das erste Jahr war das Jahr eines Ralph Benjamin, der behauptete, den ersten Trackball der Welt geschaffen zu haben, als er 1946 an einem Überwachungssystem für tief fliegende Flugzeuge arbeitete. Die von ihm beschriebene Erfindung verwendete einen Ball, um die XY-Koordinaten zu kontrollieren eines Cursors auf dem Bildschirm. Das Design wurde 1947 patentiert, wurde aber nie veröffentlicht, weil es als ein Design angesehen wird “Militärgeheimnis”. Das Militär entschied sich stattdessen für den Joystick.
Der zweite Anwärter auf den ersten Trackball der Welt, der 1952 im DATAR-System der Kanadischen Marine eingesetzt wurde, wurde von Tom Cranston und Co erfunden. Dieses Trackball-Design hatte ein Modell, bei dem ein kanadischer Bowlingball verwendet wurde “Luftlager” (siehe Bild unten).
9. Erster Computer für gespeicherte Programme: SSEM (1948)
Um die Nachteile des Verzögerungszeilenspeichers zu überwinden, hatten Frederic C. Williams und Tom Kilburn das erste digitale Speichermedium mit wahlfreiem Zugriff entwickelt, das auf der Standard-CRT basiert. Die SSEM (Manchester Kleine experimentelle Maschine) wurde verwendet, um dieses Speichergerät für die praktische Verwendung zu implementieren. Die Programme wurden mit 32 Schaltern binär eingegeben, und es wurde eine CRT ausgegeben.
10. Erste Programmiersprache auf hohem Niveau: Plankalkül (1948)
Obwohl Konrad Zuse seit 1943 mit Plankalkül zu tun hatte, veröffentlichte er erst 1948 einen Artikel darüber. Es hat leider nicht viel Aufmerksamkeit auf sich gezogen. Es würde fast drei Jahrzehnte später dauern, bis ein Compiler implementiert wurde, der von Joachim Hohmann in einer Dissertation erstellt wurde.
11. Erster Assembler: “Erstbestellungen” für EDSAC (1949)
Assembler ist ein Programm, das Mnemonics (Low-Level) in numerische Darstellung (Maschinencode) umwandelt. Die ersten Bestellungen in EDSAC (Elektronischer Verzögerungsspeicher-Rechner) war das erste eines solchen Systems. Es wurde verwendet, um Programme von der Papierbandeingabe in den Speicher zu montieren und die Eingabe auszuführen. Die Programme wurden in mnemonischen Codes anstelle von Maschinencodes erstellt “Anfangscode” der erste Assembler, indem er einen symbolischen Low-Level-Programmcode in Maschinencode verarbeitet.
12. Erster Personal Computer: “Simon” (1950)
“Simon” von Edmund Berkeley war der erste erschwingliche digitale Computer, der vier Vorgänge ausführen konnte: Hinzufügen, Negieren, Größer als und Auswahl. Die Eingabe war gelochtes Papier und das Programm lief auf Papierband. Die einzige Ausgabe war durch fünf Lichter.
13. Erster Compiler: A-0 für UNIVAC 1 (1952)
Ein Compiler ist ein Programm, das Hochsprachen in Maschinencode umwandelt. Das A-0-System war ein Programm, das vom legendären Grace Hopper erstellt wurde, um ein Programm, das als Folge von Unterprogrammen und Argumenten angegeben ist, in Maschinencode umzuwandeln. Das A-0 entwickelte sich später zu A-2 und wurde mit seinem Quellcode für die Kunden freigegeben erste Open-Source-Software.
14. Erster Autocode: Glennies Autocode (1952)
Ein Autocode ist eine übergeordnete Programmiersprache, die einen Compiler verwendet. Der erste Autocode und sein Compiler erschienen an der University of Manchester, um die Programmierung der Mark 1-Maschine verständlicher zu machen. Es wurde von Alick Glennie erstellt, daher der Name Glennies Autocode.
15. Erster Echtzeit-Grafikanzeigecomputer: AN / FSQ-7 von IBM (1951)
AN / FSQ-7 basierte auf einem der ersten Computer, die Echtzeitausgabe zeigten, Whirlwind. Es wurde zur Lebensader für das US-Luftverteidigungssystem, das als halbautomatische Bodenumgebung (SAGE) bekannt ist. Die Computer zeigten Spuren für die Ziele und zeigten automatisch, welche Abwehrkräfte in Reichweite waren. AN / FSQ-7 hatte 100 Systemkonsolen; Hier ist eine (Abbildung unten), die OA-1008 Situationsanzeige (SD), mit einer Lichtpistole, mit der Ziele auf dem Bildschirm für weitere Informationen ausgewählt werden.
16. Erste weit verbreitete Programmiersprache auf hohem Niveau: FORTRAN (1957)
Wenn Sie die Lehrbücher durchsehen, finden Sie FORTRAN als erste Programmiersprache auf höherer Ebene. John W. Backus, der das Schreiben von Programmen nicht mochte und beschloss, ein Programmiersystem zu erstellen, um den Prozess zu vereinfachen, reduzierte die Verwendung von FORTRAN die Anzahl der Programmieranweisungen, die erforderlich sind, um eine Maschine zum Laufen zu bringen. Bereits 1963 waren mehr als 40 FORTRAN-Compiler verfügbar.
17. Erste Maus (1964)
Während einer Konferenzsitzung zu Computergrafiken kam Douglas Engelbart 1964 auf die Idee einer Maus. Er dachte an ein Gerät mit einem Paar kleiner Räder (eines dreht sich horizontal, das andere dreht sich vertikal), mit dem man eine bewegen kann Cursor auf einem Bildschirm. Ein Prototyp (siehe unten) wurde von seinem leitenden Ingenieur Bill English erstellt, doch sowohl Englisch als auch Engelbart erhielten keine Lizenzgebühren für das Design, da es technisch von SRI, dem Arbeitgeber von Engelbert, stammte.
18. Erster kommerzieller Desktop-Computer: Programma 101 (1965)
Programma 101, auch bekannt als Perottina, war der weltweit erste kommerzielle PC. Es könnte Addition, Subtraktion, Multiplikation, Division, Quadratwurzel, absoluter Wert und Bruch durchführen. Bei allem, was es konnte, wurde der Preis bei 3.200 US-Dollar (es war eine ganz andere Zeit) und 44.000 Einheiten verkauft. Perottina wurde von Pier Giorgio Perotto erfunden und vom italienischen Hersteller Olivetti hergestellt.
19. Erster Touchscreen (1965)
Es sieht nicht nach viel aus, aber dies war der erste Touchscreen, den die Welt je gesehen hat. Es handelt sich um ein kapazitives Touchscreen-Display ohne Druckempfindlichkeit (es gibt entweder einen Kontakt oder keinen Kontakt) und es erfasst nur einen einzigen Kontaktpunkt (im Gegensatz zu Multitouch). Das Konzept wurde bis in die 1990er Jahre für Fluglotsen in Großbritannien eingesetzt.
20. Erste objektorientierte Programmiersprache: Simula (1967)
Basierend auf C. A. R. Hoares Konzept der Klassenkonstrukte, haben Ole-Johan Dahl & Kristen Nygaard ihre Version aktualisiert “SIMULA ich” Programmiersprache mit Objekten, Klassen und Unterklassen. Daraus entstand die SIMULA 67, die erste objektorientierte Programmiersprache.
Abschließende Gedanken
In diesem Beitrag ging es um das, was wir über die vielen ersten Anfänge in der Computergeschichte lernen konnten. Es ist jedoch schwierig, in die Geschichte selbst einzutauchen. Zumindest für mich, wir mehr Wertschätzung über die Arbeit von Generationen vor unseren, und wir können besser verstehen, was die vielen Veränderungen, die die Welt prägen, in der wir heute leben.
Ich hoffe, dieser Beitrag inspiriert dich so sehr, wie er mich inspiriert hat. Teilen Sie Ihre Gedanken zu diesen Firsts mit, und wenn ich etwas verpasst habe, was ich sicher bin, fügen Sie sie in die Kommentare ein.