🧠 COMPUTER SCIENCE

Бэббидж и Лавлейс: программа, написанная за сто лет до компьютера

В 1843 году женщина написала алгоритм для машины, которой ещё не существовало в металле. Историю первого программиста придумали не маркетологи — она настоящая и куда страннее легенды.

Программу для компьютера написали раньше, чем сам компьютер успели построить.
Аналитическая машина не претендует на то, чтобы создавать что-либо новое. Она может делать лишь то, что мы умеем ей предписать. — Ада Лавлейс, 1843

Машина, опередившая железо

Чарльз Бэббидж был английским математиком, которого бесили ошибки в напечатанных таблицах логарифмов. Их считали вручную живые люди — и ошибались. Бэббидж решил, что считать должна машина, у которой нет ни усталости, ни невнимательности. Так в 1820-х появился проект Разностной машины — огромного механического калькулятора из латунных шестерёнок, умевшего вычислять значения многочленов методом конечных разностей.

Но настоящий прорыв случился позже. В 1830-х Бэббидж задумал Аналитическую машину — и вот это уже был не калькулятор, а полноценный компьютер в современном смысле. У неё были все ключевые части: «склад» (по-нашему — память) для хранения чисел, «мельница» (процессор) для арифметики, устройство ввода на перфокартах и даже печать результата. Машина умела ветвиться и зацикливаться. Всё это — на пару, шестерёнках и без единого транзистора.

Перфокарты с ткацкого станка

Идею ввода Бэббидж позаимствовал у ткацкого станка Жаккара, где узор задавался дырочками в картонных картах. Бэббидж понял главное: если карты могут управлять рисунком на ткани, они могут управлять и вычислением. Это была революция в самой идее — машина перестала быть жёстко заточенной под одну задачу. Её поведение задавалось извне, программой. Это и есть рождение понятия программируемости.

Ада, графиня Лавлейс

Ада была дочерью поэта лорда Байрона, но мать намеренно учила её математике — лишь бы подальше от опасной отцовской поэзии. Ада подружилась с Бэббиджем и взялась перевести на английский статью итальянского инженера об Аналитической машине. Перевод вышел вдвое длиннее оригинала: Ада добавила собственные Примечания, и именно они обессмертили её имя.

В Примечании G она расписала, как машина может вычислять числа Бернулли — последовательность шагов с переменными, циклами и промежуточными результатами. По сути это была первая опубликованная компьютерная программа. Но важнее даже не код. Ада увидела то, чего не увидел сам Бэббидж: машина способна оперировать не только числами, но любыми символами по правилам — а значит, теоретически сочинять музыку или работать с понятиями. Она первой почувствовала, что компьютер — это машина общего назначения.

Почему всё это не заработало

Аналитическую машину так и не построили при жизни авторов. Причин много: фантастическая сложность точной механики, нехватка денег, тяжёлый характер Бэббиджа, постоянно переделывавшего проект. Британское правительство, вложившись в Разностную машину, в итоге махнуло рукой. Идея на сто лет ушла в тень — её переоткрыли только в XX веке, когда появились реле и лампы.

Часть машины БэббиджаСовременный аналог
Склад (store)Оперативная память
Мельница (mill)Процессор (АЛУ)
ПерфокартыПрограмма и данные
ПечатьУстройство вывода

Что осталось

Сегодня язык Ada, используемый в авиации и космосе, назван в честь Лавлейс. А второй вторник октября отмечают как День Ады Лавлейс — праздник женщин в науке. Их история — редкий случай, когда идея настолько обогнала технологии, что для её воплощения пришлось ждать целое столетие. Бэббидж и Лавлейс не построили компьютер. Они придумали, чем он будет.

#алгоритмы#Бэббидж#история#Лавлейс#первый программист