Хто був першим програмістом?


15

Чи існує консенсус серед істориків щодо того, хто був першим програмістом? Якщо так, хто це був і на чому вони програмували?

Мені цікавіше дізнатися більше про піонерів програмування, незалежно від того, програмували вони на програмованій машині чи чи спроектували машину самі, щоб виконати якусь обчислювальну задачу.


10
Визначте програмування досить точно, щоб ми знали, чи доведеться розглянути такі речі, як підготовка стрічок для ткацького верстата Жакарда чи ні.
AProgrammer

Перший, хто коли-небудь писав код :)))
Сонго

Я голосую за підрахунок Жаккарда.
Джошуа Дрейк


Ті, хто обчислював затемнення в календарі майя, цілком могли бути першими програмістами. Потрібно розробити алгоритм («ми досить близькі?») І виконати його.

Відповіді:


58

Августа Ада Кінг , графиня Лавлас (1815 - 1852) більшість зараховується як перша програмістка.

Перша програма була алгоритм для обчислення чисел Бернуллі для Чарльза Беббіджа Analytical Engine , і вона з'явилася в своїх записах трансляційних Луїджі Menabrea в мемуарах «Ескіз аналітичної машини , винайденої Чарльза Беббіджа» , більш конкретно Примітка G . Однак, математика, необхідна для обчислення чисел Бернуллі, була відома задовго до Ада, але алгоритм Ада є першим екземпляром алгоритму обчислення, розробленого для виконання (на той час ще гіпотетичної) машиною.

Конрад Зузе (1910 - 1995) також є надійним кандидатом на монітор "першого програміста", винайшов двійковий механічний калькулятор з плаваючою комою з обмеженою програмованістю, Z1 (1936), але, що важливіше, Z3 (1941), Turing повний електро -механічний комп’ютер.

Що стосується електронних комп'ютерів, комп'ютер Atanasoff – Berry (задуманий у 1937 р., Діяв до 1942 р.) Зараховується як перший електронний цифровий обчислювальний пристрій, тому розумно думати про його дизайнерів, Джона Вінсента Атанасова та Кліффорда Беррі як піонерів програмування. Комп'ютер Atanasoff – Berry не був програмованим, хоча першим програмованим електронним комп'ютером був ENIAC (1946).

Хоча дизайнери ENIAC Джон Маучлі та Дж. Преспер Екерт, ймовірно, займалися неабиякою часткою програмування, більшість програмувань ENIAC були виконані цими прекрасними дамами :

Програмісти ENIAC, люб’язно надані Проектом програмістів ENIAC

Їх імена зліва направо - Кеті Клейман 1 , Жан Бартік , Марлін Мельцер , Кей Мохлі Антонеллі та Бетті Холбертон спереду. Дві жінки-програмістки ENIAC, Френ Білас та Рут Ліхтерман , відсутні на фото.

Що стосується цифрових комп'ютерів, то перший - Колосс ( діяв до грудня 1943 р.), А керівник проекту Томмі Квітс (1905 - 1998 рр.) Також слід вважати піонером програмування разом з Максом Ньюменом (1897 - 1984), який відповідав за нього для формулювання вимог до машини і, звичайно, Алана Тьюрінга (1912 - 1954), який сконструював попередню електромеханічну криптоаналітичну машину Блетчлі-парку, Бомба (1939), і мав вплив у дизайні Колосса 2 .

1 Кеті Клейман є засновницею проекту програмістів ENIAC і, очевидно, не програміст ENIAC (занадто молода :)
2 Історія обчислень у ХХ столітті: Колос - Б. Рендел, Університет Ньюкасла (PDF)


9
"Brogrammers" - це безлад, про який мріяли блогери.
Алан Б

5
@Malcolm Це дуже гарне запитання. Що вам потрібно пам’ятати, це те, що аналітичний двигун не будувався протягом життя Беббіджа і що Ада не виявила математику для свого алгоритму, а перевела математику у форму, яка працювала б для аналітичного двигуна (саме це і відповідає її алгоритм як програмне забезпечення, а не математика). Немислимо, що Беббідж придумав більш ранню програму, але ніколи її не задокументував. Однак він документував причетність Ада, в с. 136 Уривків із життя філософа :
Янніс

2
(продовження ...) "Тоді я запропонував їй додати кілька спогадів до мемуари Менабрії, ідея, яка була негайно прийнята. Ми разом обговорили різні ілюстрації, які можна було б запровадити. Я запропонував декілька, але вибір був повністю її власним. Так само була алгебраїка, яка розробляла різні проблеми, окрім, справді, тієї, що стосується номерів Бернуллі, які я запропонував зробити, щоб врятувати неприємності леді Ловлейс. що я зробив у процесі ".
янніс

2
(продовження ...) І хоча може здатися, що Беббідж вимагає хоча б частини кредиту (що було б справедливо, як вони працювали разом), він ніколи не заперечував заміток Ада на мемуарі, які носили лише її ім'я.
янніс

5
У 1941 році Зузе найняв сліпого математика на ім’я Арнольд Фаст для програмування своїх комп'ютерів. Цей хлопець був, мабуть, першим у світі професійним програмістом.
Маккі Мессер

12

Архімед також міг кваліфікуватися

Оскільки він орієнтовно приписується створення механізму Антикітера (приклад раннього аналогового комп'ютера ) близько 2000 років тому, в якийсь момент він, мабуть, прийняв рішення про обчислення конкретної події.

Цей вчинок можна вважати програмою, тому він став програмістом.


5
Механізм не програмується.
Одід

4
Хоча зв’язок із Архімедом мається на увазі, твердження про те, що йому "попередньо приписують створення механізму Антикітера", є досить сміливим (так, я не пропустив попередньо).
янніс

4
@Gary: Одне важливе відмінність для програмованості, принаймні, як це зрозуміло сьогодні, - це те, що програма існує незалежно від обладнання. Механізм Antikythera був "жорстко закодований" для обчислення однієї речі, але не було можливості ввести інші програми.
Мейсон Уілер

3
Схоже, ми детальніше обговорюємо, ЩО ТАКЕ ПРОГРАММЕР. Хтось, хто створює механізм, вбудовуючи в нього якусь логіку, не програміст? Я вважаю, що він є, ви не можете сказати інакше, тільки тому, що ви не можете змінити цю логіку
abx78

4
Я заперечую, що механізм Антикітера був комп’ютером, отже, це беззаперечно !! Настільки ж блискучим приладом, як насправді, це був просто дуже розумний годинник. Це технологія виготовлення верстатів на 500-1000 років випередила свій час, але вона ніяк не була «програмованою». Годинники - це не комп’ютери.
Джим У Техасі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.