Wer war der erste Programmierer?

15

Gibt es unter Historikern einen Konsens darüber, wer der erste Programmierer überhaupt war? Wenn ja, wer war es und worauf programmierten sie?

Ich finde es interessanter, mehr über die Pioniere der Programmierung zu erfahren, unabhängig davon, ob sie auf einer programmierbaren Maschine programmiert haben oder ob sie die Maschine selbst für eine Rechenaufgabe entworfen haben.

Spoike
quelle
10
Definieren Sie die Programmierung so genau, dass wir wissen, ob wir beispielsweise Bänder für Jacquards Webstuhl vorbereiten müssen oder nicht.
AProgrammer
Der erste, der jemals Code geschrieben hat :)))
Songo
Ich stimme dafür, Jacquard zu zählen.
Joshua Drake
2
Verwandte Frage: Wer war der erste Software-Ingenieur
Spoike
Diejenigen, die Finsternisse im Maya-Kalender berechneten, könnten die ersten Programmierer gewesen sein. Sie müssen einen Algorithmus entwerfen ("Sind wir nah genug?") Und ihn ausführen.

Antworten:

58

Augusta Ada King , Gräfin von Lovelace (1815 - 1852) wird von den meisten als erste Programmiererin anerkannt.

Das erste Programm war ein Algorithmus zur Berechnung der Bernoulli-Zahlen für Charles Babbage Analytical Engine , und es schien , in ihrer Übersetzung Noten von Luigi Menabrea der Abhandlung „Skizze der Analytical Engine Erfunden von Charles Babbage“ , genauer gesagt G Hinweis . Allerdings war die für die Berechnung der Bernoulli-Zahlen erforderliche Mathematik schon lange vor Adas Zeit bekannt. Der Algorithmus von Ada ist jedoch die erste Instanz eines Berechnungsalgorithmus, der von einer (zu diesem Zeitpunkt noch hypothetischen) Maschine ausgeführt werden soll.

Konrad Zuse (1910 - 1995) ist auch ein solider Kandidat für den Moniker "Erster Programmierer", der einen binären Gleitkomma-Rechner mit eingeschränkter Programmierbarkeit erfunden hat: den Z1 (1936), aber vor allem den Z3 (1941), einen Turing-Komplett- Elektro -Mechanischer Computer.

Wenn es um elektronische Computer geht, gilt der Atanasoff-Berry-Computer (1937 entwickelt, 1942 einsatzbereit) als erstes elektronisches digitales Computergerät. Man kann sich daher die Designer John Vincent Atanasoff und Clifford Berry als Programmierpioniere vorstellen. Der Atanasoff-Berry-Computer war jedoch nicht programmierbar, der erste programmierbare elektronische Computer war ENIAC (1946).

Obwohl die Designer von ENIAC, John Mauchly und J. Presper Eckert, wahrscheinlich einen angemessenen Anteil an der Programmierung hatten, wurde der größte Teil der Programmierung von ENIAC von diesen reizenden Damen durchgeführt :

ENIAC-Programmierer, mit freundlicher Genehmigung des ENIAC-Programmiererprojekts

Ihre Namen von links nach rechts sind Kathy Kleiman 1 , Jean Bartik , Marlyn Meltzer und Kay Mauchly Antonelli und Betty Holberton an der Front. Zwei der weiblichen Programmiererinnen des ENIAC, Fran Bilas und Ruth Lichterman , fehlen auf dem Foto.

In Bezug auf digitale Computer war der erste Colossus (betriebsbereit bis Dezember 1943), und der Projektleiter Tommy Flowers (1905 - 1998) sollte zusammen mit Max Newman (1897 - 1984) als Programmierpionier gelten für die Formulierung der Anforderungen an die Maschine und natürlich Alan Turing (1912 - 1954), der die frühere elektromechanische kryptanalytische Maschine von Bletchley Park, die Bombe (1939), entworfen hatte und Einfluss auf das Colossus-Design 2 hatte .

1 Kathy Kleiman ist die Gründerin des ENIAC Programmers Project und offensichtlich keine ENIAC-Programmiererin (zu jung :)
2 Eine Geschichte des Rechnens im 20. Jahrhundert: Der Koloss - B. Randell, Universität Newcastle (PDF)

yannis
quelle
9
"Brogrammers" ist eine Menge Mist, den sich Blogger ausgedacht haben.
Alan B
5
@ Malcolm Das ist eine sehr gute Frage. Was Sie sich merken müssen, ist, dass die Analytical Engine zu Lebzeiten von Babbage nicht erstellt wurde und dass Ada die Mathematik für ihren Algorithmus nicht entdeckt hat, sondern die Mathematik in eine Form übersetzt hat, die für die Analytical Engine funktioniert hätte (was qualifiziert ist) ihr Algorithmus als Software und nicht Mathe). Es ist nicht undenkbar, dass Babbage ein früheres Programm entwickelt, es aber nie dokumentiert hat. Er hat jedoch Adas Beteiligung dokumentiert, in p. 136 der Passagen aus dem Leben eines Philosophen :
Yannis
2
(Forts.) "Ich schlug dann vor, dass sie einige Notizen zu Menabreas Memoiren hinzufügt, eine Idee, die sofort übernommen wurde. Wir diskutierten zusammen die verschiedenen Illustrationen, die eingeführt werden könnten: Ich schlug mehrere vor, aber die Auswahl war ganz ihre eigene. Also auch Es handelte sich um die algebraische Bearbeitung der verschiedenen Probleme, abgesehen davon, dass es sich um die Anzahl der Bernoulli handelte, die ich angeboten hatte, um Lady Lovelace die Mühe zu ersparen was ich dabei gemacht hatte. "
Yannis
2
(Forts.) Und obwohl es den Anschein hat, als würde Babbage zumindest einen Teil des Kredits beanspruchen (was fair wäre, wenn die beiden zusammenarbeiten), bestritt er niemals Adas Notizen zu den Memoiren, die nur ihren Namen trugen.
Yannis
5
1941 stellte Zuse einen blinden Mathematiker namens Arnold Fast ein , um seine Computer zu programmieren. Dieser Typ war wahrscheinlich der erste professionelle Programmierer der Welt .
Mackie Messer
12

Archimedes konnte sich ebenfalls qualifizieren

Da wird ihm vorläufig die Schaffung des Antikythera-Mechanismus zugeschrieben etwa 2000 Jahren (eines Beispiels für einen frühen analogen Computer ) zugeschrieben wurde, muss er irgendwann die Entscheidung getroffen haben, ein bestimmtes Ereignis zu berechnen.

Dieser Akt könnte man sich als Programm vorstellen, also wurde er Programmierer.

Gary Rowe
quelle
5
Der Mechanismus ist nicht programmierbar.
Oded
4
Obwohl eine Verbindung zu Archimedes impliziert ist, ist die Behauptung, dass ihm "vorläufig die Schaffung des Antikythera-Mechanismus zugeschrieben wird", ziemlich kühn (ja, ich habe vorläufig nicht versäumt).
Yannis
4
@Gary: Ein wichtiger Unterschied für die Programmierbarkeit ist, wie man heute versteht, dass das Programm unabhängig von der Hardware existiert. Der Antikythera-Mechanismus war "hartcodiert", um eine Sache zu berechnen, aber es gab keine Möglichkeit, andere Programme einzugeben.
Mason Wheeler
3
Es sieht so aus, als würden wir mehr darüber diskutieren, WAS EIN PROGRAMMER IST. Jemand, der einen Mechanismus schafft, der eine Logik darin einbettet, ist kein Programmierer? Ich glaube, das kann man nicht anders sagen, nur weil man diese Logik nicht ändern kann
abx78
3
Ich bestreite, dass der Antikythera-Mechanismus ein Computer war, daher ist er nicht unbestritten !! So brillant das Gerät auch war, es war wirklich nur eine sehr clevere Uhr. Die Technologie der Maschinenherstellung war ihrer Zeit etwa 500-1000 Jahre voraus, aber in keiner Weise "programmierbar". Uhren sind keine Computer.
Jim In Texas