Первую программу для компьютеров написали, когда самих компьютеров ещё не было, — в 1840 году. И да, в ней уже был настоящий баг.
Ада Лавлейс — первый программист
Без первого программиста не было бы и первого языка программирования. Ада Лавлейс, графиня и дочь лорда, благодаря своей любви к математике и механике, написала программу для первой вычислительной машины.
Имена Ады Лавлейс и Чарльза Бэббиджа обычно ставят рядом. Он создал первый прототип сегодняшних компьютеров — логарифмическую машину. Однако проект остался только на бумаге. Зато Ада успела поближе познакомиться с учёным и его работами.
В 1840 году итальянский военный инженер Луиджи Менабреа провёл интервью с Бэббиджем и написал про его изобретение статью на французском. Ада перевела её на английский, а также добавила подробный комментарий — алгоритм вычисления чисел Бернулли.
Программа Ады Лавлейс опередила прогресс на десятки лет — её алгоритм используют в вычислениях даже сегодня. Аду можно справедливо считать первым программистом. Позже, в 1980 году, специалисты из США создадут язык программирования, который назовут в её честь — Ada.
Машинный код и ассемблер
Бэббидж и Лавлейс получили известность среди математиков только в XX веке — во время научно-технологической революции. В 1940-х годах инженеры создали первые прототипы современных компьютеров — ЭВМ. Они были большими и работали на перфокартах. Выглядели ЭВМ так:
Они работали с помощью команд из цепочек нулей и единиц — машинного кода. Этот язык был неудобным для программирования и особенно для отладки — приходилось подробно изучать внутренности ЭВМ и быть крайне внимательным, чтобы не допустить ошибку при записи последовательностей.
В 1950-х годах специалисты создали первые языки программирования низкого уровня — ассемблеры, которые автоматизировали разработку. Низкий уровень — это уже не машинный код, но ещё и не совсем человеческий, где-то между. Такие языки были понятны человеку, но всё ещё оставались близки к машинному коду.
Планкалкюль — первый язык высокого уровня
Во время Второй мировой войны учёный из Германии Конрад Цузе стал автором первого языка высокого уровня — Plankalkül, который уже был похож на человеческий язык. Цузе использовал его, чтобы оценивать шахматные позиции. Работы учёного заметили только в 1972 году.
Plankalkül — электромеханический язык, разработанный для компьютера Z4. Аппаратную часть автор не сделал. После смерти учёного в 2000 году специалисты из Свободного университета Берлина создали первый компилятор для Plankalkül — Plankalkül-2000.
Язык не использовался на практике, но соответствовал всем стандартам современных высокоуровневых языков. Например, с помощью Plankalkül можно было складывать числа и выполнять их сортировку.
Fortran — первый язык с компилятором
В 1957 году программисты из IBM под руководством Джона Бэкуса представили первый высокоуровневый язык Fortran. Сначала они считали язык неэффективным и не хотели широко использовать. Однако именно Fortran стал революционным решением для науки и инженерии.
Сегодня Fortran тоже популярен — например, среди дата-сайентистов и в научных исследованиях. Он эволюционировал и обрёл чёткие технические стандарты.
Языки программирования начали свой путь именно с Fortran. Посмотрите на потрясающую схему с их историей.
Кто был самым первым — Ада Лавлейс или создатели Plankalkül и Fortran — не важно. Каждый из них внёс свой вклад в развитие технологий до сегодняшнего уровня, где есть место нейросетям и метавселенным.
***
Чтобы не пропустить другие материалы о программировании, об истории IT и искусственном интеллекте, подпишитесь на канал. Ставьте лайки, чтобы видеть больше таких статей у себя в ленте. Если вы хотите, чтобы мы написали о каком-то факте или технологии, предложите свою тему в комментариях к этой или другим статьям.
#программирование #технологии #люди_и_код #история IT #Ада Лавлейс