Monat der Frauengeschichte: Wie Erfinderinnen die Programmierung voranbringen und die digitale Welt bis heute prägen.
Lange bevor Softwareentwickler in schicken, lichtdurchfluteten Großraumbüros über ihren Tastaturen saßen, legten Frauen unter wenig glamourösen Bedingungen das Fundament der modernen Programmierung.
Über weite Strecken der Frühzeit galt Programmieren als monotone Fleißarbeit. Zahlreiche Historikerinnen und Historiker haben nachgewiesen, dass vor allem Frauen diese Arbeit erledigten, berichtet das Smithsonian American Women’s History Museum.
Zum Abschluss des Women’s History Month blicken wir auf Innovationen von Frauen, die die Informatik geprägt haben, von der Entwicklung des ersten Computerprogramms bis zur Software, die US-Astronautinnen und -Astronauten zum Mond brachte.
Das erste Computerprogramm
Die britische Mathematikerin Ada Lovelace übersetzte einen Aufsatz ihres Kollegen Luigi Menabrea über die Analytical Engine, die gemeinhin als erster Computer gilt. Beim Übersetzen begann sie, seine Anmerkungen zu korrigieren – und schrieb dabei nebenbei das erste Computerprogramm.
Lovelace, die Tochter des Dichters Lord Byron, hatte schon als Kind eine besondere Affinität zur Mathematik. Ihr Talent führte sie zu einer engen fachlichen Zusammenarbeit mit dem Mathematiker und Erfinder Charles Babbage, vor allem an dessen Analytical Engine.
Bei der Übersetzung von Menabreas Artikel im Jahr 1843 verfasste Lovelace umfangreiche Fußnoten. Darin liegt ihr entscheidender Beitrag zur Informatik. In diesen Anmerkungen war sie die Erste, die vorschlug, dass eine Maschine nicht nur Zahlen verarbeiten und ein mathematisches Ergebnis liefern kann, sondern auch mit Symbolen arbeiten könnte.
Die Analytical Engine könne „auch auf andere Dinge als Zahlen einwirken, sofern sich deren grundlegende gegenseitige Beziehungen mit den Mitteln der abstrakten Wissenschaft der Operationen ausdrücken lassen und sich an die Notation und die Mechanik der Maschine anpassen lassen“, schrieb sie in einer ihrer Übersetzerinnen-Notizen (Quelle auf Englisch).
Lovelace regte außerdem an, Zahlen nicht nur als Mengen zu verstehen. Sie könnten auch etwas anderes darstellen. Damit zeigte sie die Möglichkeiten von Maschinen weit über bloße Berechnung hinaus. In ihren Notizen skizzierte sie etwa, wie sich „Klänge“ und „musikalische Kompositionen“ in Operationen übersetzen lassen, mit denen eine Maschine „ausgearbeitete und wissenschaftliche Musikstücke jeden Schwierigkeitsgrads oder Ausmaßes“ erzeugen könnte.
Die Berechnungen und Kommentare der Mathematikerin machten den ursprünglichen Artikel fast drei Mal so lang und bildeten das erste Anweisungsset für Computer. Jahrzehnte später griff der britische Mathematiker und Logiker Alan Turing in seiner Codeknacker-Arbeit im Zweiten Weltkrieg auf Lovelaces Notizen zurück.
Compiler: Menschen lernen, mit Maschinen zu sprechen
Über Jahre hinweg schrieben Programmierer Computerprogramme mühsam als lange Zahlenketten, damit die Maschinen sie verstehen konnten.
Im Jahr 1952 entwickelte die Informatikerin und frühere Offizierin der US-Marine Grace Hopper dann den ersten Compiler. Dieses Programm übersetzt Code aus einer höherstufigen Programmiersprache, in der er geschrieben wird – moderne Beispiele sind Java oder Python – in niedrigere Sprachen, die ein Computer versteht, etwa Binärcode.
Der Compiler mit dem Namen A-0 wandelte symbolische mathematische Ausdrücke in maschinenlesbaren Code um und legte damit den Grundstein für moderne Programmiersprachen.
Hoppers Compiler war das Ergebnis jahrelanger Bemühungen, das Programmieren zu vereinfachen.
Als Hopper im Zweiten Weltkrieg am Mark I arbeitete, dem ersten groß angelegten automatischen Rechner, fiel ihr auf, dass bestimmte Berechnungen in einer Aufgabe immer wieder vorkamen. Sie legte ein kleines Archiv häufig genutzter Codebausteine an.
Daraus entstand das moderne Konzept der Unterprogramme: kleine Codestücke innerhalb eines größeren Programms, die Aufgaben übernehmen, die im Hauptprogramm mehrfach anfallen können. Unterprogramme sparen Zeit, weil der Code bereits geschrieben und getestet ist.
Hoppers Compiler A-0, den sie Jahre nach dem Krieg entwickelte, erlaubte Nutzerinnen und Nutzern, die Grundstruktur eines Programms in vereinfachter Sprache zu formulieren. Hopper erweiterte ständig ihr Archiv mit Unterprogrammen, speicherte sie auf einem Band und vergab Aufrufnummern. Legte jemand den Ablauf eines Programms fest, suchte der Compiler automatisch die passenden Unterprogramme auf dem Band und ordnete sie an.
Später wirkte Hopper an der Entwicklung einer der ersten höherstufigen, englischbasierten Sprachen mit: COBOL (Common Business-oriented Language). Sie entwarf und entwickelte dafür auch die Compiler.
Mit A-0 und COBOL machte Hopper die Kommunikation mit Maschinen sehr viel leichter.
Feinschliff fürs moderne GPS
Die Arbeit der US-Mathematikerin Gladys West sorgt dafür, dass das moderne Global Positioning System (GPS) so präzise ist – eine heute beinahe allgegenwärtige Technik, die Touristinnen und Touristen ebenso wie Taxifahrerinnen, Taxifahrer und Pilotinnen und Piloten nutzen.
Als West 1956 am US Naval Proving Ground anfing – sie war damals erst die zweite Afroamerikanerin dort –, übernahm sie die Leitung einer Analystengruppe, die Sensordaten von Satelliten nutzte, um Form und Größe der Erde sowie die Umlaufbahnen um sie herum zu berechnen.
Diese Berechnungen bilden die Grundlage für die Flugbahnen, die GPS-Satelliten heute abfliegen.
West erhielt für ihre Arbeit lange keine Anerkennung. Erst 2018 zeichnete sie die US-Luftwaffe mit dem Space and Missiles Pioneers Award aus. 2021 wurde sie als erste Frau mit der Prince Philip Medal der britischen Royal Academy of Engineering geehrt.
Software für die Reise zum Mond weben
In einer Einrichtung vor den Toren Bostons in den USA speicherten Weberinnen die Softwareanweisungen für die Apollo-Missionen in einem langen, drahtigen „Seil“.
Die US-Informatikerin und Softwareentwicklerin Margaret Hamilton leitete die Entwicklung und Produktion der Software für die Apollo-Missionen der USA, und ihre Arbeit war entscheidend für die sechs Mondflüge zwischen 1969 und 1972.
Unter ihrer Führung fand das Team einen genialen Weg, die Programme für die Navigationscomputer von Apollo zu speichern: Es webte sie in einen Kupferdrahtstrang ein.
Computer speichern Informationen im Binärcode, also in einer Abfolge von Einsen und Nullen. Der Speicher moderner Rechner hält diese Daten in der Regel auf kleinen Siliziumchips fest. Zur Zeit der Apollo-Missionen wurde die Information dagegen durch magnetisierte ringförmige Kerne gespeichert.
Ein Draht, der durch die Öffnung eines solchen Kerns geführt wurde, stand für eine Eins, ein Draht, der außen herumführte und das Loch umging, für eine Null. Diese Technik hieß Core-Rope-Speicher.
War ein Programm für Apollo einmal geschrieben, in Code übersetzt und auf Papierkarten, die sogenannten Lochkarten, gestanzt, ging dieser Code an eine Fertigungsstätte, wo Frauen, häufig zuvor in Textilfabriken beschäftigt, Kupferdrähte und Kerne zu einem langen Strang webten, in dem große Mengen Code Platz fanden.
Neben dieser ungewöhnlichen Speicherlösung konzentrierte sich Hamilton vor allem darauf, Software zu entwerfen, die Systemfehler erkennt und sich nach einem Absturz selbst wiederherstellen kann. Diese Funktionen erwiesen sich bei Apollo 11, der ersten erfolgreichen Mondlandung, als entscheidend.
„Die Arbeit an der Software selbst – sie zu entwerfen, zu entwickeln, weiterzuentwickeln, bei ihrem Einsatz zuzusehen und daraus für zukünftige Systeme zu lernen – war mindestens so aufregend wie die Ereignisse rund um die Mission“, sagte Hamilton MIT News (Quelle auf Englisch) im Jahr 2009 im Rückblick auf ihre Erfahrung mit den Apollo-Missionen.
„Im Rückblick waren wir die glücklichsten Menschen der Welt; wir hatten keine andere Wahl, als Pionierinnen und Pioniere zu sein; es blieb keine Zeit, Anfängerinnen oder Anfänger zu sein.“