Кто был первым программистом?

15

Есть ли среди историков консенсус в отношении того, кто был первым программистом? Если так, то кем это было и на чем они программировали?

Я нахожу более интересным узнать больше о пионерах программирования, независимо от того, программировали ли они на программируемом компьютере или разработали этот компьютер для выполнения какой-либо вычислительной задачи.

Spoike
источник
10
Определите программирование достаточно точно, чтобы мы знали, должны ли мы рассматривать такие вещи, как подготовка лент для жаккардовых станков или нет.
AProgrammer
Первый, кто написал код :)))
Songo
Я голосую за подсчет жаккарда.
Джошуа Дрейк
2
Связанный вопрос: Кто был первым инженером-программистом
Спойк
Те, кто рассчитывал затмения в календаре майя, вполне могли быть первыми программистами. Вам необходимо разработать алгоритм («мы достаточно близки?») И выполнить его.

Ответы:

58

Августа Ада Кинг , графиня Ловелас (1815 - 1852), считается первым программистом.

Первая программа была алгоритм для вычисления чисел Бернулли для Чарльза Бэббиджа Analytical Engine , и она появилась в своих записях трансляционных Луиджи Menabrea в мемуарах «Эскиз аналитической машины , изобретенной Чарльза Бэббиджа» , более конкретно Примечание G . Тем не менее, математика, необходимая для вычисления чисел Бернулли, была известна задолго до времени Ады, однако алгоритм Ады является первым примером алгоритма вычисления, предназначенного для выполнения (в то время еще гипотетической) машиной.

Конрад Цузе (1910–1995) также является твердым кандидатом на прозвище «первый программист», изобрёл двоичный механический калькулятор с плавающей запятой с ограниченной программируемостью, Z1 (1936), но, что более важно, Z3 (1941), полный электро Тьюринга. Механический компьютер.

Когда дело доходит до электронных компьютеров, Atanasoff-Berry Computer (задуманный в 1937 году, введенный в эксплуатацию в 1942 году) считается первым электронным цифровым вычислительным устройством, поэтому разумно думать о его разработчиках, Джоне Винсенте Атанасоффе и Клиффорде Берри, как о пионерах программирования. Компьютер Atanasoff-Berry не был программируемым, однако первым программируемым электронным компьютером был ENIAC (1946).

Хотя дизайнеры ENIAC Джон Мочли и Дж. Преспер Экерт, вероятно, занимались программированием, большая часть программирования ENIAC была выполнена этими милыми дамами :

Программисты ENIAC, любезно предоставлены Программой программистов ENIAC

Их имена слева направо: Кэти Клейман 1 , Джин Бартик , Марлин Мельцер , Кей Мочли Антонелли и Бетти Холбертон спереди. Две женщины-программиста ENIAC, Фрэн Билас и Рут Лихтерман , отсутствуют на фотографии.

Когда дело доходит до цифровых компьютеров, первым был Colossus (действующий к декабрю 1943 года), и лидер проекта Томми Флауэрс (1905-1998) также должен считаться пионером в программировании, наряду с Максом Ньюманом (1897-1984), который был ответственным для формулирования требований к машине и, конечно, к Алану Тьюрингу (1912 - 1954), который разработал более раннюю электромеханическую криптоаналитическую машину Bletchley Park, Bombe (1939), и оказал влияние на дизайн Колосса 2 .

1 Кэти Клейман является основателем проекта программистов ENIAC и, очевидно, не программистом ENIAC (слишком молод :)
2 История компьютерных технологий в двадцатом веке: Колосс - Б. Ранделл, Университет Ньюкасла (PDF)

Яннис
источник
9
«Brogrammers» - это дерьмо, придуманное блоггерами.
Алан Б
5
@Malcolm Это очень хороший вопрос. Что вам нужно помнить, так это то, что Analytical Engine не был собран при жизни Бэббиджа, и что Ада не обнаружила математику для своего алгоритма, но перевела математику в форму, которая сработала бы для Analytical Engine (что и подходит ее алгоритм как программный, а не математический). Не исключено, что Бэббидж придумал более раннюю программу, но никогда не документировал ее. Однако он сделал документ об участии Ады, в с. 136 отрывков из жизни философа :
Яннис
2
(продолжение ...) «Затем я предложил ей добавить некоторые заметки к мемуарам Менабреи, идея, которая была немедленно принята. Мы обсудили вместе различные иллюстрации, которые могут быть представлены: я предложил несколько, но выбор был полностью ее собственным. была ли алгебраическая работа над различными проблемами, кроме, действительно, связанных с числами Бернулли, которые я предложил сделать, чтобы избавить леди Лавлейс от неприятностей? Она отправила меня обратно за поправкой, обнаружив серьезную ошибку который я сделал в процессе ".
Яннис
2
(продолжение ...) И хотя может показаться, что Бэббидж претендует хотя бы на некоторую часть кредита (что было бы справедливо, так как оба работали вместе), он никогда не оспаривал заметки Ады на мемуарах, которые носили только ее имя.
Яннис
5
В 1941 году Цузе нанял слепого математика по имени Арнольд Фаст для программирования своих компьютеров. Этот парень был, вероятно, первым в мире профессиональным программистом.
Маки Мессер
12

Архимед также мог претендовать

Поскольку ему предварительно приписывают создание механизма Antikythera (пример раннего аналогового компьютера ) около 2000 лет назад, в какой-то момент он, должно быть, принял решение рассчитать конкретное событие.

Этот акт можно считать программой, и он стал программистом.

Гэри Роу
источник
5
Механизм не программируется.
Одед
4
Хотя связь с Архимедом подразумевается, утверждение о том, что ему "предварительно приписывают создание механизма Антикитера", является довольно смелым (да, я не пропустил предварительно).
Яннис
4
@Gary: Одним из важных отличий в программируемости, по крайней мере, как это понимают сегодня, является то, что программа существует независимо от аппаратного обеспечения. Механизм Antikythera был «жестко запрограммирован», чтобы вычислить одну вещь, но не было никакого способа ввести другие программы.
Мейсон Уилер
3
Похоже, мы обсуждаем больше о том, что такое программист. Кто-то, кто создает механизм, внедряющий в него какую-то логику, не программист? Я верю, что это так. Вы не можете сказать иначе просто потому, что не можете изменить эту логику
abx78
4
Я спорю , что механизм Antikythera был компьютер, поэтому он не подлежит сомнению !! Как бы блестяще ни было устройство, это были действительно очень умные часы. Технология изготовления машины была на 500-1000 лет раньше своего времени, но она никоим образом не была «программируемой». Часы не являются компьютерами.
Джим в Техасе