Ада Августа Лавлейс Дочь Байрона, первая программистка

We use cookies. Read the Privacy and Cookie Policy

Ада Августа Лавлейс

Дочь Байрона, первая программистка

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

Джордж Байрон

Ада Августа Лавлейс

Высказанные в письме к своей двоюродной сестре опасения великого поэта Англии относительно "поэтического дара" дочери оказались напрасными. Ада Байрон преуспела в совершенно другой области — она составила первую компьютерную программу и потомки нарекли ее "первой программисткой".

Августа Ада Байрон родилась 10 декабря 1815 года, а в январе 1816 года ее родители — супруги Джордж Байрон и Аннабелла Милбэнк — разъехались навсегда.

Ада Байрон с детства успешно и с увлечением занималась математикой. Ее учителем был известный английский математик и логик Август де Морган. К числу друзей Аннабеллы Милбэнк принадлежал выдающийся английский ученый и изобретатель Чарльз Бэббидж. Юная Ада посещает его мастерскую, где знакомится с его работой над вычислительными машинами. Чарльз Бэббидж искренне полюбил эту девушку, он находил в ней главное, что ценил в людях, — остроту ума. Быть может, сыграло роль и то, что Ада была почти ровесницей его рано умершей дочери. Бэббидж следит за научными занятиями Ады, посылает ей статьи и книги, представляющие интерес, и знакомит со своими работами.

Семейная жизнь Августы Ады сложилась счастливо. В июле 1835 года она вышла замуж за Уильяма, восемнадцатого лорда Кинга, ставшего впоследствии первым графом Лавлейсом. Сэр Уильям, которому в то время исполнилось 29 лет, был спокойным, уравновешенным и приветливым человеком. Он с одобрением относился к научным занятиям своей жены и помогал ей как мог.

Супруги вели светский образ жизни, регулярно устраивали вечера и приемы, на которых бывал "весь Лондон". Один из постоянных посетителей этих вечеров, редактор популярного лондонского журнала "Экзаминер" Олбани Фонбланк, оставит такой портрет хозяйки дома: "Она была ни на кого не похожа и обладала талантом не поэтическим, но математическим и метафизическим…"

Портрет графини Лавлейс

Очень выразительна и автохарактеристика, данная Адой в одном из писем Бэббиджу: "Мой мозг — нечто большее, чем просто смертная субстанция; я надеюсь, время покажет это (если только мое дыхание и прочее не будут слишком быстро прогрессировать к смерти).

Клянусь дьяволом, что не пройдет и десяти лет, как я высосу некоторое количество жизненной крови из загадок вселенной, причем так, как этого не смогли бы сделать обычные смертные губы и умы. Никто не знает, какие ужасающие энергия и сила лежат еще неиспользованными в моем маленьком гибком существе.

Я сказала "ужасающие", т. к. Вы можете вообразить, что это означает в некоторых обстоятельствах. Граф Л. иногда говорит: "Каким генералом могла бы ты быть". Представьте меня со временем в общественных и политических заботах (я всегда мечтала обладать мировой властью, силой и славой — эта мечта никогда не сбудется…). Для вселенной хорошо, что мои устремления и честолюбие навсегда связаны с духовным миром и что я не собираюсь иметь дела с саблями, ядами и интригами вместо х, у и f.

Статья военного инженера Л. Ф. Менабреа (впоследствии генерал в армии Гарибальди, а затем премьер-министр Италии) "Очерк Аналитической машины, изобретенной Чарльзом Бэббиджем" заинтересовала Аду, и она перевела ее на английский язык. Тогда Бэббидж предложил ей добавить некоторые примечания к переводу. Эта идея была немедленно принята. Перевод статьи Менабреа занимает 20 страниц, примечания же Ады Лавлейс — в два с половиной раза больше, 50 страниц. Одно это сопоставление показывает, что А. А. Лавлейс отнюдь не ограничилась ролью простого комментатора. При этом статья Менабреа касается в большей степени технической стороны дела, тогда как примечания Лавлейс — математической.

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

Эта программа представляет исключительный интерес, поскольку величина, сложность и математическая постановка данной задачи не идут ни в какое сравнение с элементарными примерами. Этот пример позволил Лавлейс в полной мере показать методику программирования на Аналитической машине и те преимущества, которые дает последняя при подходящем методе вычислений.

Предвосхищая "этапы" компьютерного программирования, Ада Лавлейс, так же как и современные математики, начинает с постановки задачи, затем выбирает метод вычисления, удобный для программирования, и лишь тогда переходит к составлению программы.

За определение числа Бернулли Лавлейс берет следующее выражение:

Оно неудобно, т. к. требует суммирования ряда. Другая форма задания предпочтительнее:

Но последняя формула представления B2n-1 имеет существенные недостатки. Поэтому Лавлейс выводит рекуррентную формулу:

и принимает ее за основу метода вычисления. Затем она приступает к описанию программы.

Эта программа вызвала восторг Бэббиджа, он не жалел хвалебных слов для ее автора, и они были вполне заслуженными. Поддержка и теплые слова укрепляли уверенность Ады и давали ей силы для работы. Успехи давались ей с большим напряжением и не без ущерба для здоровья, на что она неоднократно жалуется в письмах Бэббиджу. Лавлейс хотелось, чтобы эта и последующие работы, о которых она мечтала, могли как-то связываться с ее именем. Поэтому Ада решает под каждым примечанием поставить свои инициалы.

Чарльз Бэббидж

ax0 + bx1 + cx2 + dx3 +… + kx9 = p,

a1x0 + b1x1 + c1x2 + d1x3 +… + k1x9 = p1,

…….

a9x0 + b9x1 + c9x2 + d9x3 +… + k9x9 = p9,

"Примечания" Лавлейс заложили основы современного программирования, базирующегося на тех идеях и принципах, которые были ею высказаны. Одним из важнейших понятий программирования служит понятие цикла. Лавлейс полностью осознала значение цикла — использование циклических вычислительных методов является одним из простейших и эффективнейших методов, облегчающих использование вычислительных машин. Поэтому она уделяет весьма много внимания циклам в своей работе. Ей принадлежит определение цикла: "Под циклом операций следует понимать любую группу операций, которая повторяется более одного раза". Организация циклов в программе значительно сокращает ее объем. Без такого сокращения практическое использование Аналитической машины было бы нереальным, т. к. она работала с перфокартами, и требовалось бы огромное их количество для каждой решаемой задачи. Для иллюстрации эффективности использования циклов Лавлейс приводит в качестве примера решение системы 10 линейных уравнений с 10 неизвестными:

Прежде всего, уже в то время Ада Лавлейс отдавала себе полный отчет в колоссальной "широте спектра" возможностей универсальной вычислительной машины. Вместе с тем она очень четко представляла себе границы этих возможностей: "Желательно предостеречь против преувеличения возможностей Аналитической машины. Аналитическая машина не претендует на то, чтобы создавать что-то действительно новое. Машина может выполнить все то, что мы умеем ей предписать. Она может следовать анализу; но она не может предугадать какие-либо аналитические зависимости или истины. Функции машины заключаются в том, чтобы помочь нам получить то, с чем мы уже знакомы". В 1843 году, когда эти положения высказывались, Ада, конечно, не могла предвидеть, как разовьется и какие формы примет программирование спустя 120 лет.

В своей первой и, к сожалению, единственной научной работе Ада Лавлейс рассмотрела большое число вопросов, актуальных и для современного программирования.

Чуть позже Бэббидж вместе с супругами Лавлейс принялся за разработку и практическую проверку системы беспроигрышных ставок на бегах, рассчитывая таким путем добыть средства для продолжения работы над вычислительными машинами.

"Система" не оправдала надежд, проиграв довольно внушительную сумму, Бэббидж и граф Лавлейс отказались от участия в совершенствовании "системы". Но леди Ада, азартная и упрямая, продолжала играть. Она оказалась сильно втянутой в эту рискованную игру, истратив на нее все свои личные средства, причем ее супруг и не подозревал об этом. Более того, леди Ада оказалась в руках группы мошенников, которые шантажировали ее.

В начале пятидесятых годов Ада тяжело заболела. Летом 1852 года она уже не вставала с постели, а 27 ноября 1852 года Августа Ада Лавлейс скончалась в том же возрасте, что и ее отец. Согласно завещанию, она была похоронена рядом с могилой отца в семейном склепе Байронов в Ноттингемпшире.