Как Ада Лавлейс представила себе вычисления за столетие до их появления
В 1843 году Ада Лавлейс написала то, что сейчас признано первой опубликованной компьютерной программой — для машины, которая так и не была построена, в столетие, которое сделало такую машину возможной.
В 1837 году английский математик Чарльз Бэббидж начал проектировать то, что он назвал Аналитической машиной — механическое устройство, приводимое в действие паром и управляемое перфокартами, заимствованными из текстильной промышленности, способное выполнять любые вычисления, которые ему предписывалось. Это была не первая вычислительная машина, которую он предлагал; более ранняя конструкция, Разностная машина, могла вычислять только фиксированные математические таблицы. Аналитическая машина отличалась по своей сути: универсальная, программируемая, способная получать различные наборы инструкций и производить различные результаты. Бэббидж так и не получил финансирования для ее полной постройки.
Ада Лавлейс, математик и единственная законная дочь поэта лорда Байрона, перевела статью итальянского инженера об Аналитической машине в 1843 году и добавила свои собственные примечания — которые были в три раза длиннее оригинальной статьи. В них содержится пошаговый метод для машины по вычислению чисел Бернулли, последовательности, используемой в математике. Историки вычислительной техники теперь считают это первым опубликованным алгоритмом, написанным для универсального компьютера, описанием программного обеспечения, написанного до того, как появилось оборудование, способное его запустить. Лавлейс также написала, более пророчески, чем сам Бэббидж, что такая машина однажды сможет манипулировать не только числами — музыкой, изображениями, символами любого рода — идея, которая не будет реализована более века.
Ничто из этого не происходит в отрыве от своего времени. Промышленная революция, продолжавшаяся примерно с середины XVIII до середины XIX века в Великобритании и Европе, сделала Аналитическую машину вообще возможной: точная металлообработка, паровая энергия и экономика, все более привыкающая к мысли, что машина может выполнять работу, которую раньше делала вручную целая комната людей. Амбиции Бэббиджа в этом смысле полностью соответствовали его веку — технически преждевременные, но не неуместные.
Откуда взялись перфокарты
Бэббидж не изобретал перфокарту. Он заимствовал ее непосредственно из текстильной промышленности, от ткацкого станка, продемонстрированного в Лионе в 1801 году ткачом Жозефом-Мари Жаккаром, который использовал цепочку перфокарт для управления тем, какие нити поднимал механический станок — позволяя одному станку ткать сложные узоры без квалифицированного оператора, управляющего каждым проходом вручную. Бэббидж адаптировал ту же идею для управления вычислениями вместо ткани: карты подавали как числа, так и инструкции о том, что с ними делать, в Аналитическую машину, а вторая, повторяющаяся колода могла отправлять машину обратно для повторного использования более ранних инструкций — та же основная идея, что и цикл в современном программном обеспечении. Лавлейс явно указала на эту связь в своих заметках, написав, что Аналитическая машина «ткет алгебраические узоры так же, как жаккардовый станок ткет цветы и листья». Даже две основные части машины заимствовали свои названия из мельниц той эпохи: Бэббидж назвал часть, которая хранила числа, «Склад» (Store), а часть, которая действовала на них, «Мельницей» (Mill) — прямые предки того, что современный компьютер называет памятью и процессором.
Доказательство конструкции, полтора века спустя
Бэббидж так и не получил финансирования для завершения Аналитической машины, и более века спустя оставался открытым вопрос, сработали бы его конструкции вообще, или же викторианская инженерия была просто слишком неточной, чтобы построить то, что он нарисовал. В 1985 году Лондонский музей науки решил ответить на этот вопрос напрямую, построив версию более ранней, более простой машины Бэббиджа — Разностной машины № 2 — строго по его собственным чертежам 1847-49 годов, используя только производственные допуски, которые были бы достижимы в его время. Вычислительная часть была завершена в 1991 году, к двухсотлетию со дня рождения Бэббиджа; механизм печати, который он также разработал, был добавлен в 2002 году. Он работал. Готовая машина, состоящая из 8000 деталей и весящая пять тонн, до сих пор работает в Музее науки в Лондоне — закрывая вопрос, который оставался открытым с 1830-х годов: не был ли Бэббидж провидцем, а была ли его инженерия действительно надежной.
Три ракурса, одна библиотека
Эта история охватывает сразу три из двенадцати библиотек WonderBooks — человек, машина и эпоха получают свое собственное иллюстрированное повествование, и их можно читать в любом порядке или по отдельности.



Часто задаваемые вопросы
Построила ли Ада Лавлейс когда-нибудь работающий компьютер?
Нет — ни Лавлейс, ни Бэббидж не построили Аналитическую машину при жизни; она существовала только в виде чертежей и заметок. То, что создала Лавлейс, было алгоритмом: подробным, пошаговым методом для машины по вычислению последовательности чисел, написанным за годы до того, как появилась машина, способная его запустить.
Была ли Аналитическая машина Бэббиджа когда-либо построена?
Сама Аналитическая машина никогда не была построена, ни в XIX веке, ни с тех пор. То, что Лондонский музей науки завершил в 1991 году, было более ранней и простой Разностной машиной № 2 Бэббиджа, построенной строго по его собственным чертежам — доказательство того, что его механические конструкции сработали бы, хотя это не подтверждает каждую деталь более амбициозной Аналитической машины.
Почему Аду Лавлейс называют первым компьютерным программистом?
Ее заметки 1843 года об Аналитической машине включают подробный метод вычисления чисел Бернулли, реальной математической последовательности, написанный как точная последовательность операций для выполнения машиной. Историки вычислительной техники признают это первым опубликованным алгоритмом, написанным для универсальной вычислительной машины, хотя машины для его запуска еще не существовало.