Дочь Байрона, первый в мире программист. Что нужно знать об Аде Лавлейс
Дочь английского поэта-романтика Ада Лавлейс считается первым программистом в истории. Она написала программу к аналитической машине Бэббиджа - прообразу современного компьютера, разработанному в те времена, когда еще даже не было электричества. Что нужно знать об этой женщине - в материале «Футуриста».
Что известно об Аде Лавлейс?
О, в ее биографии довольно много любопытного. Жизнь Ады была апофеозом борьбы между эмоциями и разумом, субъективизмом и объективизмом, поэзией и математикой, болезненными состояниями и всплесками энергии.
Ада была дочерью лорда Байрона, крупнейшего английского поэта-романтика, и Анны Изабель Милбанк (Аннабеллы). Их брак был недолгим: всего через месяц после рождения дочери Милбанк ушла от Байрона, а четыре месяца спустя поэт покинул Англию навсегда. Аннабелла была образованной, религиозной и правильной женщиной - не случайно Байрон, эксцентричный и вспыльчивый, прозвал жену «Принцессой параллелограммов». Отец держал фотографию Ады на столе и упоминал её в своих стихах - но увидеться с дочерью ему не было суждено. Он умер, когда Аде было 8.
«Дочь, птенчик, Ада милая. На мать похожа ль ты, единственно родная? В день той разлуки мне могла сиять. В твоих глазах надежда голубая…»- писал поэт.
Леди Байрон не была близка с дочерью и часто оставляла маленькую Аду на попечении бабушки. Однако Аннабелле приходилось играть на публике роль любящей родительницы. Поэтому она постоянно отправляла бабушке тревожные письма о самочувствии Ады - и прикладывала записку, что эти письма необходимо сохранить на случай, если ее материнские чувства будут поставлены под сомнение. И все же она была значимой родительской фигурой в жизни Ады. Леди Байрон не хотела, чтобы дочь выросла такой же, как ее бывший супруг - поэтому она не поощряла чтение стихов и прозы и стимулировала интерес к точным наукам. Это и определило дальнейшую судьбу девушки. Тем не менее, Ада сравнивала себя с дьяволом и часто совершала необдуманные поступки, чем пугала уравновешенную и строгую мать. Однажды девушка влюбилась в молодого учителя и попыталась с ним сбежать - но ее поймали, а инцидент попытались замять.
В 1835 году Ада вышла замуж за Уильяма Кинга, который был на десять лет старше ее, и когда Кинг унаследовал благородный титул в 1838 году, они стали графом и графиней Лавлейс. У них было трое детей. В 1952 году Ада Лавлейс умерла от рака матки - вероятно, и без того тяжелое физическое состояние было усугублено кровопусканием, которое применяли ее врачи. Ей было 36 - столько же, сколько и лорду Байрону. По ее просьбе ее похоронили рядом с отцом, которого она так и не узнала.
Как Ада начала научную карьеру?
Леди Байрон и Ада принадлежали к лондонской элите, где джентльмены, не являющиеся членами духовенства и не вовлеченные в политику или военное дело, вполне могли тратить время и деньги на ботанику, геологию или астрономию. В начале XIX века не было «профессиональных» ученых - слово «scientist» было придумано Уильямом Уэуэллом в 1836 году. Участие женщин в интеллектуальных занятиях также не получило широкого распространения. Набор дисциплин, которые Аннабелла выбрала для своей дочери, был феноменальным - помимо уроков музыки, традиционных для девушек того времени, Ада брала уроки математики и логики. Одним из ее учителей был шотландский математик и мистик Август де Морган. Его жена Мэри Соммервиль, которая перевела «Трактат о небесной механике» астронома Пьера Лапласа, была наставницей и ближайшей подругой Ады.
Ада была болезненным ребенком. В возрасте восьми лет у нее были головные боли, такие сильные, что она теряла способность видеть. В июне 1829 года она была парализована после кори - больше года Ада провела в постели и к 1831 году научилась ходить с костылями. Несмотря на тяжелое физическое состояние, Ада приобрела первые математические и технологические навыки. В 12 лет девочка решила, что хочет научиться летать - и попыталась создать механические крылья. Она исследовала анатомию птиц, чтобы определить правильную пропорцию между крыльями и телом, изучила свойства различных материалов и предложила совместить «искусство летать» с возможностями паровой машины.
В конце концов, Аде удалось победить болезнь - и вовремя: ей предстоял первый выход в свет. Юная девушка была «красива, изящна и таинственно бледна». Изысканные манеры и блестящий ум сделали Аду чрезвычайно популярной у лондонского бомонда. Она была знакома с «джентльменом науки» Эндрю Кроссом, который делал значительные успехи в минералогии, но прославился экспериментом, во время которого, как ему показалось, он создал живое из неживой материи. Ада общалась с физиками Дэвидом Брюстером, Чарльзом Уитстоуном и Майклом Фарадеем. В 1833 году, когда Аде было 17 лет, Сомервилл познакомила девушку с Чарльзом Бэббиджем, профессором математики в Кембридже. Байрон и Бэббидж начали объемную переписку по темам математики, логики и, в конечном счете, по всем предметам. Девушка стала верной помощницей ученого.
Муж не препятствовал Аде в ее увлечениях и даже наоборот, помогал ей в финансовом плане и не ограничивал во времени. Это было взаимовыгодное сотрудничество: успехи Ады положительно сказывались на репутации Уильяма.
Чем занимался Бэббидж?
Он был довольно разносторонним человеком, как и многие джентльмены науки того времени. Но главным делом его жизни были механические вычислительные машины. Бэббидж мечтал создать машину, которая позволила бы заменить огромное количество людей, занимающихся вычислением различных астрономических, навигационных и математических таблиц. Это помогло бы избежать ошибок при вычислении и сэкономить множество ресурсов. Машины, способные производить простые операции сложения, вычитания и даже умножения, уже были созданы до Бэббиджа - хотя и не были широко распространены. Но устройства, способные вычислять значения функций и выводить результаты на бумаге в виде таблицы, еще не были изобретены.
По задумке Бэббиджа, машина должна была вычислять логарифмические и тригонометрические функции, используя только операцию сложения. Этот метод назывался методом конечных разностей. Ученый построил экспериментальный образец с небольшим объемом «памяти» - за эту работу Бэббиджа наградили первой золотой медалью Астрономического общества. Бэббидж решил создать более универсальную машину и обратился в Королевское и Астрономическое общества с просьбой профинансировать работу. В 1823 году Бэббидж получил 1500 фунтов стерлингов и приступил к разработке новой машины. Однако создание устройство затянулось - математик не учел технологических возможностей своего времени. Кроме того, огромное влияние на Бэббиджа оказали трагические события 1827 года: он похоронил отца, жену и двоих детей. Чтобы восстановить здоровье, он поехал в путешествие по континенту. После путешествия в 1828 году Бэббидж продолжил разработку, но конструкция оказалась слишком сложной, и работы пришлось остановить.
Несмотря на неудачи, Бэббидж в 1834 году задумался о создании программируемой вычислительной машины, которую он назвал аналитической. Это был прообраз современного компьютера: она состояла из «склада» (памяти), «мельницы» (процессора), управляющего элемента и устройства ввода-вывода информации. Аналитическая машина позволяла решать больше задач, чем разностная, а ее постройка требовала меньше времени и средств, так как она должна была состоять из более простых механических элементов. Бэббидж разрабатывал устройство в одиночку - и лишь Ада Лавлейс стала его другом, помощником и единственным единомышленником. Она критиковала Бэббиджа за неусидчивость (он мог одновременно разрабатывать металлургические установки, участвовать в археологических раскопках и готовиться к восхождению на Везувий) - и в то же время восхищалась его работами. В 1848 году она отговорила Бэббиджа от идеи создания машины, играющей в крестики-нолики, для проведения тура по стране с целью сбора денег на его проекты.
И что программировала Лавлейс?
Кто-то считает заслуги Ады Лавлейс переоцененными - зачастую ее представляют лишь как ассистентку Бэббиджа и переводчицу иностранных статей. Да и сама она видела себя, в первую очередь, толковательницей работ Бэббиджа. В одном из писем Лавлейс предлагала взять на себя роль управляющего, а Бэббиджу отводилась роль технического директора - так он мог бы сосредоточиться на своих работах, в то время как она выбивала бы финансирование и отстаивала его разработки перед различными инстанциями. Бэббидж не принял это предложение, однако они нашли некий компромисс - и их отношения стали еще более доверительными.
Но именно Лавлейс написала первую в мире компьютерную программу - алгоритм по вычислению чисел Бернулли для аналитической машины Бэббиджа. Лавлейс не хотела подписывать эту работу своим именем - в то же время она хотела добавить нечто, что помогло бы ее идентифицировать, связать этот текст с будущими работами. Поэтому текст подписан просто ее инициалами, A.A.L.
Чарльз Бэббидж
Формально Ада всего лишь перевела на английский язык статью итальянского военного инженера Луиджи Менабреа, описывающую изобретение Бэббиджа. Но этот перевод она дополнила подробными комментариями, увеличив объем работы более чем в три раза. В этих примечаниях говорилось о разработке плана операций для аналитической машины.
Сначала она объясняет разницу между аналитической и разностной машинами: «Аналитическая машина является отражением науки об операциях, построенная так, что абстрактные числа являются субъектами этих операций. Разностная машина воплощает лишь один конкретный, притом весьма ограниченный набор операций». Затем она объясняет, как управлять аналитической машиной с помощью перфокарт - карточек с кодовым расположением отверстий: одни карточки задают последовательность операций, в то время, как другие - значения переменных. Далее она представляет традиционные взгляды на программирование: «Аналитическая машина не может создавать что-то новое. Она может делать все, что мы и сами знаем как выполнять… её цель состоит лишь в том, чтобы помогать нам осуществлять то, с чем мы уже хорошо знакомы». И, наконец, самая известная и значимая для нас часть ее работы - алгоритм по вычислению чисел Бернулли.
В этой работе Ада вводит понятия «цикл» и «рабочая ячейка». А еще дает, возможно, самое поэтическое в истории определение работы компьютера: «аналитическая машина плетет алгебраические узоры подобно Жаккардовому ткацкому станку, плетущему цветы и листья».
А можно подробнее про числа Бернулли?
Раньше ученые тратили всю свою жизнь на вычисление сумм одинаковых степеней целых чисел (к примеру, 12+22+32++...+n2) и представление этих результатов в виде таблицы. Но математик Якоб Бернулли доказал, что все намного проще: можно просто представить эту сумму в виде многочлена с определенными коэффициентами. Эти коэффициенты впоследствии назвали числами Бернулли. Эта последовательность (В0, В1, В2) выглядит так: 1; -1/2; 1/6; 0; -1/30; 0; 1/42; 0...
Ада Лавлейс предложила вычислять числа Бернулли на аналитической машине. Она воспользовалась тем, что все нечетные числа Бернулли (кроме В1) равны нулю и вычисляла лишь четные числа. Она заметила, что для каждого нового числа не требуется больше памяти, а лишь большее количество операций.
Как Лавлейс относилась к музыке?
Как к математике. Она предполагала, что возможности вычислительных устройств когда-нибудь позволят им писать музыку.
«Если бы фундаментальные взаимосвязи между звуками в науке о гармонии поддавались бы воздействию абстрактных операций, то машина могла бы их использовать для написания научным методом музыкальных произведений любой сложности», - писала Лавлейс.
Что и требовалось доказать.
А что Лавлейс думала о нейросетях?
Нет, мы не смеемся, она действительно предполагала, что они реальны.
«Я не считаю, что структуры головного мозга менее подвластны математикам, нежели движения и свойства звёзд и планет; вполне, если выбрать для их рассмотрения правильную точку зрения. Я хотела бы оставить последующим поколениям вычисляемую модель нервной системы», - писала Лавлейс сыну Марии Сомервилль.
Писала ли Лавлейс собственные научные статьи?
Нет, ей не повезло. Во-первых, как женщина она была ограничена в научной деятельности: в частности, у нее не было доступа к библиотеке Королевского общества в Лондоне. Ее усилиями доступ к литературе получил ее муж Уильям, который благосклонно относился к занятиям жены.
Лавлейс считала, что ей, как и многим другим ученым, следует начать карьеру с переводов. Когда знаменитые примечания были опубликованы, Бэббидж посоветовал ей написать собственную статью. Но уже в 1844 году появились свежие публикации об аналитической машине, и Аде пришлось менять фокус интересов. А в 1844 году у нее начались серьезные проблемы со здоровьем. Дети взрослели и требовали к себе все больше внимания. И, наконец, часто возникали финансовые проблемы. Уильям занимался сложными строительными проектами, которые требовали дополнительных вложений.
Чем увлекалась Лавлейс?
Предполагается, что она увлекалась ставками на скачках и даже потеряла на этом некоторую сумму. Злые языки утверждали, что это происходило не без помощи Бэббиджа, совместно с которым она якобы разработала систему беспроигрышных ставок.
Как и многие ученые-любители того времени, Ада увлекалась эзотерическими течениями - от френологии до месмеризма (последний посоветовала ей мать во время одного из приступов болезни). Благодаря светскому воспитанию, она превосходно играла на нескольких музыкальных инструментах и владела несколькими языками.
Вопреки воле Аннабеллы, она писала стихи: лишь после смерти Ады мать сдалась и построила мемориал, на котором содержался ее сонет «Радуга». А незадолго до смерти Ада попросила друга Бэббиджа — Чарльза Диккенса — прийти к ней и прочитать рассказ о смерти из одной его книги.
В 1951 году состояние Ады ухудшилось. Опиум больше не подавлял боль, поэтому она употребляла марихуану. Мать переехала в ее дом и оградила дочь от других людей. За три месяца до смерти Ада сделала признание, которое потрясло Уильяма: он перестал с ней общаться. Лавлейс умерла 27 ноября 1852 года. Ее подруга Флоренс Найтингейл писала: «Говорят, что она не смогла бы прожить так долго, если бы не огромная жизнеспособность её мозга, который не хотел умирать.»
А язык программирования Ada назван в честь нее?
Да. В 1983 году под торговой маркой Ada был зарегистрирован универсальный язык программирования, единый для американских вооруженных сил, а затем и для НАТО в целом. Любопытно, что существует русский алгоритмический язык с аббревиатурой РАЯ - он используется для записи и изучения алгоритмов в школах.
10 декабря, в день рождения Ады Лавлейс, а также 19 июля - в день публикации ее памятной статьи, отмечается неофициальный День программиста.
Комментарии