«Чародейка чисел»: как Ада Лавлейс дала начало программированию и оказалась забыта
Гений, опередивший свое время, единственный законный ребенок скандального поэта Байрона и автор первой в мире компьютерной программы, — все это об Августе Аде Лавлейс, математике и ученой, после смерти на долгие годы забытой
Дочь принцессы параллелограммов
Когда 10 декабря 1815 года Ада появилась на свет, ее отец лорд Байрон с надеждой спросил, не умер ли ребенок во время родов. Обнаружив, что девочка жива и прекрасно себя чувствует, поэт воскликнул: «Ох, какое оружие пытки я в тебе приобрел!»
Брак Байрона и матери Ады Анны Изабеллы (или просто Аннабеллы) Милбенк был несчастливым. Поэт изменял супруге и часто унижал ее. Когда Аннабелла выходила за Байрона, она была состоятельной женщиной. Муж купил на ее деньги дом в Лондоне и несколько экипажей и начал устраивать частые приемы. В итоге семья разорилась, и, чтобы свести концы с концами, Байрон продал даже свою библиотеку.
Во время одной из ссор он в приступе гнева выстрелил в супругу из пистолета. Через месяц после рождения Ады Байрон заявил Аннабеле, что она должна покинуть дом. «Ребенок, конечно, будет сопровождать вас», — заявил поэт. Аннабелла уехала к родителям, и Ада с тех пор ни разу не видела отца. Он умер, когда ей было восемь лет.
Аннабелла была до такой степени разочарована в знаменитом муже, что решила: дочь ничем не должна походить на отца. Байрон не случайно называл бывшую жену «принцессой параллелограммов» и «математической Медеей»: она страстно увлекалась математикой. Аннабелла решила, что и Ада должна заняться точными науками и ни в коем случае не посвящать себя литературе. Тогда, полагала она, девочка будет куда лучше защищена от пороков отца и сможет остаться нравственно чистой.
Лошадь с паровой машиной внутри
Аннабелла начала обучать дочь математике и естественным наукам, когда той было всего четыре года. Решение дать девочке образование было для Англии XIX века необычным, но Аннабелла не собиралась руководствоваться общественными нормами.
Ада оказалась способной и тянулась к знаниям. В 12 лет она написала трактат, посвященный строению птичьих крыльев. Мечтая спроектировать летательный аппарат, к 14 годам Ада разработала несколько проектов в чертежах. Об одной из самых смелых идей она рассказала матери. «У меня есть план, — сказала Ада Аннабелле, — сделать нечто в виде лошади с паровой машиной внутри, устроенной таким образом, чтобы она приводила в движение огромную пару крыльев, закрепленных снаружи лошади. Так лошадь сможет подняться в воздух, пока человек сидит на ее спине».
Детство Ады было болезненным — она даже на некоторое время ослепла, то ли от перенапряжения, то ли вследствие кори, которая уложила ее в постель на год. Несмотря на это, она продолжала заниматься. «Моя математическая работа требует значительного воображения», — говорила Ада. В 16 лет она познакомилась с Мэри Соммервиль, выдающимся астрономом XIX века. Мэри вдохновила ее на еще более углубленные занятия математикой.
«Первооткрыватель скрытых реалий природы»
После этой встречи Ада начала общаться и с другими учеными. В 17 лет она встретилась в одном из светских салонов с математиком Чарльзом Бэббиджем, который вошел в историю как «отец компьютера». Чарльз был поражен умом и познаниями Ады. Он писал: «Эта чародейка чисел наложила свои чары на самую абстрактную из наук и овладела ею с силой, которую могли проявить немногие мужские умы — по крайней мере, в нашей стране».
Знакомство с Бэббиджем стало поворотным моментом для Ады. Ученый рассказал ей, что работает над созданием логарифмической машины — аппарата, который мог бы производить вычисления с точностью до 20-го знака. Аду увлекла идея Чарльза. Они постоянно переписывались и обсуждали научные проекты.
Ада верила, что ей суждено было внести весомый вклад в науку. «Я считаю себя обладателем очень редкой комбинации качеств, идеально подходящих для того, чтобы сделать меня первооткрывателем скрытых реалий природы», — говорила молодая ученая.
В 19 лет она вышла замуж за Уильяма Кинга, который впоследствии стал виконтом Лавлейс. Однако замужество не нарушило планов Ады. Более того: муж поддерживал ее и старался помогать советами. Ада смогла посвящать почти все свое время работе над проектом машины Бэббиджа.
Счетные вычислительные машины сами по себе не были новинкой в XIX веке. Еще в 1642 году французский физик Блез Паскаль сконструировал механическую машину, которая могла выполнять операции сложения и вычитания. Однако проект Бэббиджа, которым заинтересовалась Ада, стал прообразом для современных цифровых вычислительных машин. Чарльз предложил сконструировать аппарат, который мог бы выполнять операции автоматически по заранее запущенной программе.
«Сам процесс вычисления осуществляется с помощью алгебраических формул, записанных на перфорированных картах, аналогичных тем, что используются в ткацких станках Жаккара. Вся умственная работа сводится к написанию формул, пригодных для вычислений, производимых машиной, и неких простых указаний, в какой последовательности эти вычисления должны производиться» — так описывал машину Бэббиджа итальянский инженер и специалист по механике Луи Фредерико Менабреа в своем очерке.
«Партнеры воображения»
Ада решила перевести работу Менабреа на английский. Она дополнила перевод собственными подробными комментариями и размышлениями. В итоге текст Лавлейс оказался почти втрое больше оригинального. В комментариях Ада описала алгоритм вычисления на логарифмической машине Бэббиджа чисел Бернулли (последовательности рациональных чисел, которую математик Яков Бернулли нашел, когда вычислял суммы последовательных натуральных чисел, возведенных в одну и ту же степень). Этот алгоритм считается сегодня первой настоящей программой, специально составленной для воспроизведения на компьютере. Также Ада предложила использовать еще две вычислительные программы.
Благодаря этой работе Лавлейс считается сегодня первым программистом в истории. Разработанные ею программы должны были продемонстрировать аналитические способности аппарата. Ада верила, что машина при правильных настройках могла бы «ткать алгебраические узоры, как жаккардовый ткацкий станок ткет цветы и листья». То есть фактически работать автономно от человека.
При описании программ Лавлейс впервые употребила и объяснила термины «рабочая ячейка» и «цикл», которые используются в современном программировании. Книга с переводом очерка Менабреа и идеями самой Ады была выпущена в 1843 году.
Ада была куда смелее в своих научных гипотезах, чем Бэббидж. Тот считал, что использование его машин ограничено только числовыми вычислениями, но Лавлейс размышляла о чем-то более масштабном. Ей казалось, что счетные машины могут не просто производить математические подсчеты, но и стать «партнерами воображения» и помогать создавать музыку или даже стихи.
Смелые идеи и ранняя смерть
Ада пыталась применять свои таланты не только в науке, но и в области скачек. Она оказалась азартным игроком и начала фанатично делать ставки. Однажды она проиграла 3200 фунтов стерлингов, поставив не на ту лошадь на скачках в Дерби. Лавлейс казалось, она сможет «программировать» результаты скачек, то есть понять закомерность побед и поражений и научиться делать удачные ставки с высокой точностью. Однако она ошибалась. Ада тратила снова и снова деньги на скачках и в результате была вынуждена тайно закладывать бриллианты семьи ее мужа, чтобы расплатиться с долгами.
Физик Николас Витковски, автор эссе «Слишком красивая для Нобелевской премии», говорил про Аду Лавлейс: «То, что она искала, — скорее метафизика, чем наука или техника. Образ жизни. В какой-то момент она предложила использовать свое тело как молекулярную лабораторию. Она предвосхитила не только появление информатики или компьютеров, но и в некотором смысле нейробиологии».
Аду действительно интересовали не только вычислительные машины, но и устройство человека. Она верила, что однажды с помощью аналитических машин можно будет сконструировать модель нервной системы. «Я не считаю, что структуры головного мозга менее подвластны математикам, нежели движения и свойства звезд и планет; вполне, если выбрать для их рассмотрения правильную точку зрения, — говорила Лавлейс. — Я хотела бы оставить последующим поколениям вычисляемую модель нервной системы».
Однако на реализацию многих своих планов Аде не хватило времени. В 36 лет она умерла от рака матки. На похоронах ученой произнес речь писатель Чарльз Диккенс. Аду Лавлейс похоронили в фамильном склепе рядом с ее отцом лордом Байроном, также умершим в 36.
После смерти Лавлейс как ученая оказалась забыта. Она получила профессиональное признание только во второй половине XX века. В 1979 году Министерство обороны США назвало ее именем язык программирования ADA, который до сих пор используется в авиации и космической отрасли.