Kto był pierwszym programistą?


15

Czy wśród historyków istnieje konsensus co do tego, kto był pierwszym programistą? Jeśli tak, to kto to był i nad czym programował?

Bardziej interesuje mnie wiedza na temat pionierów programowania, niezależnie od tego, czy programowali na maszynie programowalnej, czy też sami zaprojektowali maszynę do wykonywania pewnych zadań obliczeniowych.


10
Zdefiniuj programowanie na tyle dokładnie, abyśmy wiedzieli, czy musimy rozważyć takie rzeczy, jak przygotowanie taśm na krosno żakardowe, czy nie.
AProgrammer

Pierwszy, który napisał kod :)))
Songo

Głosuję za liczeniem Jacquarda.
Joshua Drake


Ci, którzy obliczali zaćmienia w kalendarzu Majów, równie dobrze mogliby być pierwszymi programistami. Musisz zaprojektować algorytm („czy jesteśmy wystarczająco blisko?”) I go wykonać.

Odpowiedzi:


58

Augusta Ada King , hrabina Lovelace (1815 - 1852) jest uznawana przez większość za pierwszego programistę.

Pierwszy program był algorytm do obliczania liczb Bernoulliego dla Charlesa Babbage'a analityczny silnika i pojawił się w jej notatek tłumaczeniowych Luigi Menabrea w pamiętniku „Szkic Analytical Engine wynaleziony przez Charlesa Babbage” , a dokładniej Uwaga G . To powiedziawszy, matematyka niezbędna do obliczenia liczb Bernoulliego była znana na długo przed czasem Ady, jednak algorytm Ady jest pierwszą instancją algorytmu obliczeniowego zaprojektowanego do wykonania przez (w tym czasie jeszcze hipotetyczną) maszynę.

Konrad Zuse (1910 - 1995) jest również solidnym kandydatem na monikera „pierwszego programisty”, ponieważ wynalazł binarny kalkulator mechaniczny zmiennoprzecinkowy z ograniczoną możliwością programowania, Z1 (1936), ale co ważniejsze, Z3 (1941), kompletny elektro Turinga -mechaniczny komputer.

Jeśli chodzi o komputery elektroniczne, Atanasoff – Berry Computer (opracowany w 1937 r., Działający do 1942 r.) Jest uznawany za pierwsze elektroniczne urządzenie komputerowe, więc rozsądnie jest myśleć o jego projektantach, Johnie Vincencie Atanasoffie i Cliffordie Berry, jako o pionierach programistycznych. Komputer Atanasoff – Berry nie był jednak programowalny, pierwszym programowalnym komputerem elektronicznym był ENIAC (1946).

Chociaż projektanci ENIAC, John Mauchly i J. Presper Eckert, prawdopodobnie dobrze się spisali, większość programów ENIAC wykonały te urocze kobiety :

Programiści ENIAC, dzięki uprzejmości ENIAC Programmers Project

Ich nazwiska od lewej do prawej to Kathy Kleiman 1 , Jean Bartik , Marlyn Meltzer , Kay Mauchly Antonelli i Betty Holberton z przodu. Na zdjęciu brakuje dwóch programistów ENIAC, Fran Bilas i Ruth Lichterman .

Jeśli chodzi o komputery cyfrowe, pierwszym był Colossus (działający do grudnia 1943 r.), A szef projektu Tommy Flowers (1905–1998) również powinien zostać uznany za pioniera programistycznego wraz z Maxem Newmanem (1897–1984), który był odpowiedzialny za sformułowanie wymagań dla maszyny i oczywiście Alana Turinga (1912 - 1954), który zaprojektował wcześniej elektromechaniczną maszynę kryptoanalityczną Bletchley Park, Bombe (1939), i miał duży wpływ na projekt Colossus 2 .

1 Kathy Kleiman jest założycielką Projektu Programistów ENIAC i oczywiście nie jest programistą ENIAC (zbyt młody :)
2 Historia komputerów w XX wieku: Kolos - B. Randell, Newcastle University (PDF)


9
„Brogrammers” to mnóstwo bzdur wymyślonych przez blogerów.
Alan B

5
@Malcolm To bardzo dobre pytanie. Należy pamiętać, że silnik analityczny nie był budowany za życia Babbage'a i że Ada nie odkryła matematyki dla swojego algorytmu, ale przetłumaczyła matematykę na formę, która działałaby dla silnika analitycznego (co kwalifikuje się jej algorytm jako oprogramowanie, a nie matematyka). Nie jest nie do pomyślenia, że ​​Babbage wymyślił wcześniejszy program, ale nigdy go nie udokumentował. Udokumentował jednak zaangażowanie Ady w str. 136 fragmentów z życia filozofa :
yannis

2
(ciąg dalszy ...) „Następnie zasugerowałem, aby dodała kilka notatek do pamiętnika Menabrei, pomysł, który został natychmiast przyjęty. Omówiliśmy razem różne ilustracje, które mogą zostać wprowadzone: zasugerowałem kilka, ale wybór był całkowicie jej. Tak więc algebraiczne rozwiązywało różne problemy, z wyjątkiem tych odnoszących się do liczby Bernoulliego, które zaproponowałem, aby uratować lady Lovelace od kłopotów. Odesłała mi je z poprawką, po wykryciu poważnego błędu które zrobiłem w tym procesie ”.
yannis

2
(ciąg dalszy ...) I chociaż mogłoby się wydawać, że Babbage żąda przynajmniej części uznania (co byłoby uczciwe, gdyby obie pracowały razem), nigdy nie kwestionował notatek Ady na pamiętniku, które nosiły tylko jej imię.
yannis

5
W 1941 r. Zuse zatrudnił niewidomego matematyka o nazwisku Arnold Fast do programowania swoich komputerów. Ten facet był prawdopodobnie pierwszym na świecie profesjonalnym programistą.
Mackie Messer

12

Archimedes również mógłby się zakwalifikować

Ponieważ został wstępnie uznany za stworzenie mechanizmu Antikythera (przykład wczesnego komputera analogowego ) jakieś 2000 lat temu, w pewnym momencie musiał podjąć decyzję o obliczeniu konkretnego zdarzenia.

Ten akt można uznać za program, dlatego został programistą.


5
Mechanizm nie jest programowalny.
Oded

4
Chociaż sugeruje się związek z Archimedesem, twierdzenie, że jest „wstępnie przypisany do stworzenia mechanizmu Antikythera”, jest dość śmiałe (tak, nie przegapiłem wstępnie).
yannis

4
@Gary: Jednym z ważnych rozróżnień w zakresie programowalności, przynajmniej w dzisiejszym rozumieniu, jest to, że program istnieje niezależnie od sprzętu. Mechanizm Antikythera został „zakodowany na stałe”, aby obliczyć jedną rzecz, ale nie było sposobu, aby wprowadzić inne programy.
Mason Wheeler

3
Wygląda na to, że debatujemy więcej na temat CO TO JEST PROGRAMATOR. Ktoś, kto tworzy mechanizm osadzający w nim jakąś logikę, nie jest programistą? Wierzę, że on jest, nie można powiedzieć inaczej tylko dlatego, że nie można zmienić tej logiki
abx78

4
Kwestionuję, że mechanizm Antikythera był komputerem, dlatego nie jest bezdyskusyjny !! Choć było to genialne urządzenie, był to naprawdę bardzo sprytny zegar. Technologia wytwarzania maszyn była o 500-1000 lat wcześniejsza, ale w żaden sposób nie była „programowalna”. Zegary to nie komputery.
Jim w Teksasie
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.