Высшее лондонское общество заранее предвкушало скандал, когда две странные и видные особы – экстравагантный лорд Байрон, смутьян, поэт и романтик, луддит и дэнди, и Анна Изабелла Милбенк, дочь богатого баронета, внучка и наследница лорда Уэнтворта, религиозная и благовоспитанная девушка, безумно увлеченная математикой, сообщили о своем браке.
Ада Лавлейс: математик и первый в мире программист
Опасения света оправдались: очень скоро за браком последовал развод, и Байрон оставил свою жену с только родившейся дочерью, которую, как покажет будущее, видел в своей жизни всего раз. Дочь, названная по желанию отца Адой («имя древнее и короткое»), росла с матерью, с ранних лет старательно нагружавшей дочь учебой (элементарной математикой в том числе). В юности Ада серьезно болела и три года провела в постели.
В 17 лет Ада приезжает в Лондон, её представляют ко двору, но это значительное событие затмевает происшествие более важное: она знакомится с Чарльзом Бэббиджем, которого потомки помнят как математика, хотя это был чрезвычайно разносторонний человек с очень широким кругом интересов.
Бэббидж делится с ней возможностью создания разностной машины, то есть механизма, который производит некоторые вычисления. Наверное, Ада была отличной и увлеченной слушательницей, и Бэббидж пускается в довольно пространные объяснения, детально рассказывая о математике. Собственно, эта встреча и изменила жизнь Ады, положив начало делу, которое выведет её в число известнейших людей в истории.
Ада воспылала страстью к математике, к тому же выяснилось, что у неё был к этой науке совершенно очевидный талант. Девушке не пристало посещать университет, и она берет частные уроки у профессоров, которые подтверждают: Ада способна и, пожалуй, даже несколько более того (слово «талантлива» в отношении девушки, изучающей математику, применять в ту пору было неловко).
Пока Ада изучает математику, Бэббидж занимается разработкой своей разностной машины, идею создания которой он привез еще в 1819 году из поездки во Францию – французское правительство тогда начало огромный проект по созданию математических таблиц, бывших весьма популярными, особенно в военном, строительном и навигационном деле, где ошибка в вычислениях обходилась очень дорого. Над составлением таблиц трудилось огромное количество людей, называемых «вычислителями» – не бог весть как оплачиваемая, но весьма уважаемая профессия.
Бэббиджу пришла в голову мысль о том, что можно создать машину, которая могла бы хоть отчасти заменить вычислителей. Он понимал, что механизм также устраняет «человеческий фактор», то есть неизбежные ошибки в вычислениях, результаты которых проверялись и перепроверялись, но не устранялись полностью. Хотя Бэббидж был обеспеченным человеком, но денег на постройку такой машины не хватало. Хорошо, что правительство проявило интерес к проекту, и в 1823 году работа по созданию разностной машины началась.
Бэббидж, к несчастью, проявил себя плохим организатором: он то передоверял работу нанятым инженерам, то цеплялся за каждую мелочь, тормозя принятие решений. Он умудрился рассориться со всеми участниками проекта и менял главных инженеров несколько раз (с одним из уволившихся вообще вел бесконечный патентный спор). Постоянно отвлекаясь и работая урывками, Бэббидж, однако, в 1832 году создает небольшой действующий прототип — именно эту машину он, в то время 41-летний вдовец с восемью детьми, и покажет Аде год спустя.
Автор увлеченно развлекает своих гостей демонстрацией прототипа, но его цель — создание большой разностной машины. Она должна состоять из 25 тысяч деталей и весить почти 14 тонн. Изучая математику, Ада продолжает регулярно общаться с Бэббиджем, и он постепенно посвящает её во все тонкости, связанные с его детищем. В личной жизни у нашей героини тоже перемены: в 1835 году она выходит замуж, и, судя по всему, брак её с лордом Уильямом Кингом оказывается счастливым. Три года спустя Уильям был удостоен графского титула, и Ада стала графиней Адой Лавлейс – именно под этим именем она и вошла в историю.
Семейные дела не очень располагают к занятиям математикой, и, хотя Ада не оставляет их, но всерьез возвращается к учебе только в 1838 году, после рождения третьего ребенка.
Тем временем Бэббидж израсходовал выделенные парламентом деньги, но его машина так и не работает. Он просит дополнительные ассигнования, показывает в парламенте свои чертежи и расчеты, заверяя, что на этот раз все непременно получиться. В своих идеях он идет дальше, понимая, что способен создать машину, которая не просто высчитывала бы разницу чисел, но и была способна производить сложные вычисления (речь идет уже не о разностной машине, а о машине аналитической). Он узнает об изобретении француза Жаккарда, создавшего еще в 1801 году ткацкий станок, программируемый перфокартами. Проведя некоторые эксперименты, он понимает, что нашел способ управления аналитической машиной. Но ничего не выходит: парламентарии оттачивают на Бэббидже и его детище свое остроумие, тема разностной машины –прекрасная мишень для шуток. Денег парламент больше не выделяет.
Однако идея становится популярной уже во всем мире, и однажды Бэббиджа приглашают выступить с лекциями в Турине. Там же он проводит много часов в разговорах о своей машине в компании с Луиджи Менабреа, военным инженером, который 27 лет спустя станет премьер-министром Италии. Менабреа вдохновила идея создания машины Бэббиджа, и несколько позже (это уже октябрь 1842 года) он опубликовал статью на французском языке, где описал ее.
Бэббидж не знает французского, и Ада берется перевести эту статью для него, но… собственно, вот тут и происходит волшебство: Ада, найдя статью Менабреа неполной, сообщает Бэббиджу, что хочет дополнить её своими расчетами. В то время Бэббидж уже вполне доверяет миссис Лавлейс как прекрасному математику и соглашается.
Дело занимает Аду всерьез, с Бэббиджем она в постоянной переписке в режиме, как мы сказали бы сейчас, мессенджера, отправляя и получая по нескольку писем ежедневно. Если мощности почты не хватало, с записками посылали слуг. Аде помогает муж, переписывая её черновики начисто, но все равно даже при такой интенсивной работе финальный вариант появляется только в июле 1843 года. В нем математики особо отмечают вычисления чисел Бернулли, представляющие из себя довольно детальное описание сложного кода. Статья, вышедшая из-под пера Ады Лавлейс, по сути явилась первым в истории программным кодом, а её автора вполне по делу называют первым в истории программистом.
Плотная работа над статьей и общение с Бэббиджем привело Аду к мысли самой заняться проектом разностной машины, и она (к её собственному удивлению, поскольку в такой исход ей не слишком верилось) смогла убедить в этом Бэббиджа. Новая конструкция компании предполагала, что Ада возьмет на себя руководство созданием машины, а Бэббидж станет главным инженером.
Идея самой машины к тому времени претерпела изменения: кроме того, о чем говорилось выше, в конструкции теперь не 25, а всего лишь 8 тысяч деталей, что повышает её надежность. Понимание возможностей программирования, как кажется участникам проекта, сильно приближает их к цели. Детали машины обсуждены и выполнены в чертежах. Её блоки, по сути, совпадают с современными компьютерами: Бэббидж различает store (сейчас мы называем его «склад» памятью), mill (процессор), control (управление) и устройство ввода и вывода информации.
Казалось, в новом виде компания могла стать успешной, но Аду настигла болезнь, которая не позволила ей заняться проектом. В 1852 она скончалась от рака в возрасте 36 лет.
Бэббиджа губит избыточная разносторонность его талантов (он придумывает водолазный колокол, спидометр и тахометр, офтальмоскоп и сейсмограф, участвует в реформе почты, придумывает путеочиститель, пишет замечательный труд Economy of Machines and Manufactures, занимается металлургией и изготовлением станков – список его достижений необыкновенно велик, одно их описание займет немало места), и к своей аналитической машине он больше толком не вернется.
В 1991 году Лондонский научный музей по чертежам Бэббиджа построил Большую разностную машину -2. Её создание обошлось музею примерно в $2 млн, что соответствует тем 17,5 тысячам фунтов середины XIX века, которые Бэббидж просил, но так не получил у английского парламента. Машина вполне исправно работает и выполняет все функции, которые были заложены её изобретателем. Разумеется, она работает на программах, созданных Адой Лавлейс, женщиной-математиком и первым в истории программистом.