Открывающееся окно браузера и новейшие спецэффекты в фильмах, сложнейшие математические операции и возможность получать сообщения за доли секунды – все это берет свои истоки из разностных, аналитических, а позднее электронных вычислительных машин. Феноменальные озарения и кропотливый труд многих людей позволяют нам пользоваться этими благами инженерной мысли.
В сегодняшнем блоге мы хотели бы рассказать о человеке, который ушел далеко вперед от своих современников, предложив не только первую программу для вычислительного оборудования, но и предсказав развитие этой технологии. Это никто иная, как Ада Лавлейс.
Детство и юность
Августа Ада появилась на свет 10 декабря 1815 года в семье Анны Изабеллы Байрон и Джорджа Гордона Байрона. Вероятно, чтобы представить, как Ада (в будущем Лавлейс) смогла создать первую компьютерную программу, стоит обратить внимание и на ее родителей – увлеченную математикой Анну Изабеллу и поэта-романтика лорда Байрона. Было бы удивительно, если бы часть талантов родителей не передалась девушке. Однако, брак их распался через месяц после рождения дочери и в будущем она никогда не общалась с отцом.
Анна Изабелла Байрон Лорд Байрон
С самого детства Ада была увлечена наукой, а развитию этого интереса способствовали ее учителя – профессор математики Огастес де Морган и Мэри Сомервилль, популяризатор науки, астроном и математик. Например, уже в 13 лет девочка разработала чертежи индивидуального летательного аппарата и предположила, что для полетов можно задействовать паровую тягу.

Юность девушки, увы, была омрачена частыми болезнями. После тяжело перенесенной кори Ада была парализована почти три года. Но это не помешало ей просвещаться и развивать свой интерес к точным наукам.
Знакомство с Бэббиджем
В возрасте 17-ти лет Ада узнает о математике Чарльзе Бэббидже и его разработках, связанных с вычислительными машинами. Эта идея заинтересовала девушку, и вскоре она знакомится с Чарльзом поближе.

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

Тогда юная математик взялась за работу. Ее настолько заинтересовал механизм, предложенный профессором, что она стала добиваться получения средств на его дальнейшую постройку. И Аде это удалось.
Продолжая трудиться над проектом совместно с Адой, Чарльз Бэббидж озаряется еще одной идеей. На этот раз о создании более сложного аппарата, который умел бы не только вычитать и добавлять, но и умножать, делить также. Данный аппарат было предложено назвать «аналитической вычислительной машиной». К слову, именно он станет прототипом цифрового компьютера в будущем.
Аналитическая машина Бэббиджа
В 1835 году Ада выходит замуж за молодого Уильяма Кинга, а вскоре получает титул графиня Лавлейс. Первые три года брака были посвящены семье – за это время у Лавлейсов появилось трое детей. Однако, больше времени проводил с ними именно отец, в то время как Ада продолжала работать над вычислительными машинами.
Так как работы над разностной вычислительной машиной не были успешны (а на тот момент длились они более 10 лет), в Британии нашлось мало заинтересованных в производстве нового аппарата под руководством Бэббиджа.
Зато идеей заинтересовался молодой итальянский инженер Луиджи Менабреа, записавший лекцию профессора Бэббиджа на французском языке. Позднее Чарльз Уитстон, английский физик и изобретатель, попросит Аду Лавлейс сделать перевод с французского на английский. И именно здесь произойдет рождение чуда.
«Заметки Лавлейс»
В своей статье, написанной по мотивам лекции, Менабреа продемонстрировал примеры, как аналитическая машина могла бы решать простые системы линейных уравнений, раскладывала результаты перемножения двух многочленов и так далее. Конечно, это потребовало дополнительных объяснений при переводе. Так появились легендарные «Заметки Лавлейс», которые были объемнее самой лекции. И несмотря на жесткую критику со стороны Бэббиджа, «Заметки» прошли цензуру и вышли в печать.
Особого внимания заслуживают две из них. «Note A» – в этой заметке Ада предрекает, что машины будут иметь куда больше функций, например, они смогут сочинять музыку.
Фундаментальные взаимосвязи между звуками в науке о гармонии поддавались бы воздействию абстрактных операций, то машина могла бы их использовать для написания научным методом музыкальных произведений любой сложности.
Не меньшего внимания заслуживает «Note G». Хотя Ада Лавлейс была убеждена, что аналитические машины имеют огромный потенциал, они не смогут думать. Они созданы лишь для того, чтобы выполнять заложенные программы, и никогда не смогут превзойти своих создателей. Именно над этим в будущем начнет работать Алан Тьюринг.

Здесь же, в «Note G», Ада Лавлейс предложила метод вычисления полной последовательности чисел Бернулли до определенного предела. По сути, это и была первая созданная программа в истории.
Числа Бернулли — последовательность рациональных чисел, впервые рассмотренная Якобом Бернулли в связи с вычислением суммы последовательных натуральных чисел, возведённых в одну и ту же степень.
Последние годы
Ада была бесконечно влюблена в то, что она делала, и, вероятно, добилась бы невероятных успехов, продолжив работать над алгоритмической машиной. Однако, на 37 году жизни обнаружилось, что Лавлейс больна раком матки. Она постепенно угасала и умерла, не дожив до своего 37-го дня рождения всего несколько недель.
Ада Лавлейс покоится в семейном склепе Байронов. Там же, где был похоронен ее отец.
В чем же феноменальность ее открытия?
Читатель справедливо может возмутиться – описание алгоритмов существовало и до Ады Лавлейс. Даже ее коллега Бэббидж описал более 20 программ годами ранее.
Однако, Ада Лавлейс впервые создала программу, состоящую из большого количества операций – 25 (против всего 10-11 у предшественников), ее программа имела разветвления и циклы, чего не смог сделать никто до нее.
Технически действительно трудно сказать, что программа Лавлейс была первой. Но она была настоящим озарением на тот момент и довольно точным взглядом в будущее – современные программы очень близки «по духу» с идеями Лавлейс.
Убедиться в этом вы можете и сами, взглянув на реализацию ее программы на языке С и Python.
Любопытно, что Аде Лавлейс принадлежит не только авторство первой сложной программы, но и первого бага в истории программирования: в «диаграмме развития» Лавлейс пишет в четвёртой операции v5/v4. Но правильно будет v4/v5.
Таким образом именно Ада Лавлейс является первым программистом в истории, создателем таких фундаментальных терминов, как «рабочая ячейка», «цикл». Ее аналитическое мышление, гибкий ум и умение взглянуть абстрактно на вещи раскрыли перед современниками и потомками огромный потенциал вычислительных машин, который мы используем повсеместно.
Хотя я не вижу ничего, кроме смутной и туманной неопределенности в плане нашего бытия, но мне кажется, я способна разглядеть очень яркий свет чтобы успешно двигаться дальше, и это заставляет меня волноваться гораздо меньше о неясности, которая окружает сейчас.
Ада Лавлейс