#культура

Ада Лавлейс — первая программистка в истории

#культура

Ада Лавлейс — первая программистка в истории

В 1840-х годах программирования еще не существовало, как и полноценных компьютеров, но первая программа появилась уже тогда. Правда, поняли это спустя столетие. Рассказываем, что именно сделала Ада Лавлейс для женщин в науке и современной информатики в целом.

Каждый второй вторник октября с 2009 года отмечается международный День Ады Лавлейс, которую многие знают как первую в мире программистку. Его основная цель — поднять авторитет женщин в STEM-дисциплинах (science, technology, engineering & mathematics) и напомнить о том, что они сыграли крайне важную роль в эволюции технологий. Под брендом Лавлейс ежегодно проходят десятки мероприятий в IT: фестивали, воркшопы, лекции и вручения наград.

Очевидно, что сегодня она — икона феминистского движения. Но так было не всегда; до поры слава Ады была ограничена (впрочем, безвестной ее сложно назвать даже в XIX веке). В статье пробуем выяснить, какой вклад внесла Ада Лавлейс в современный кодинг, какие есть споры на этот счет и с чем еще ассоциируется ее имя.

Так кто же все-таки Ада Лавлейс

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

Развод сопровождался скандалом, ударившим по репутации писателя. Впрочем, это могло быть единственным способом для Анабеллы получить социальное одобрение, финансовую независимость и опеку над дочерью в довольно патриархальной Англии XIX века, пишет Дороти Стейн в книге «Ада: жизнь и наследие» (к этой биографии мы еще вернемся).

Пожалуй, основной вклад Байрона в том, что именно он одним из первых популяризовал имя дочки в буквальном смысле. При рождении в 1815-м девочку нарекли Августиной (в честь сводной сестры лорда), но сам писатель называл ее исключительно Адой и упоминал, что это — семейное имя, и восходит оно ко временам правления Короля Иоанна.

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

Опасаясь, что Ада унаследует от отца бунтарский нрав и «безумие», леди Байрон настояла, чтобы она обучалась естественным наукам и, в частности, математике. Образованием мисс Байрон с 17 лет занимался «один из последних антиньютоновцев» Уильям Френд, физик Уильям Кинг, специалистка в области математики и астрономии Мэри Сомервилль. Позднее, уже в 1840-х, Аду консультировал шотландский математик и логик Огастес де Морган.

В 1835-м мисс Байрон вышла замуж за Уильяма Кинга-Ноэля (не путайте его с учителем Ады), тоже ученого, который вскоре унаследовал титул лорда Лавлейса. У них было трое детей. Умерла Ада 27 ноября 1852 года, когда ей было 36 лет. В том же возрасте и по той же причине — от процедуры кровопускания (в то время считалось, что это может лечить некоторые заболевания, например, рак) — умер ее отец.

Всю жизнь Ада Лавлейс интересовалась научными достижениями своего времени, в том числе причудливыми френологией и месмеризмом, а в 1844-м даже размышляла над созданием математической модели того, как мозг рождает мысли, а нервные окончания — чувства. Однако больше всего Ада все-таки известна по работе с профессором из Кембриджа Чарльзом Бэббиджем.

Почему Аду называют первой программисткой

Ада познакомилась с Бэббиджем в том же семнадцатилетнем возрасте, во многом благодаря Мэри Сомервилль. В то время профессор работал над Разностной машиной — чем-то вроде огромного калькулятора для частичной автоматизации вычисления математических таблиц (здесь емко описан принцип ее работы).

Аду вдохновили идеи Бэббиджа, а он, в свою очередь, был впечатлен умственными способностями девушки, которую называл Чародейкой чисел (The Enchantress of Number). Много лет они переписывались и встречались лично, обсуждая математические концепции.

Несмотря на субсидии от правительства Великобритании (в сумме — порядка £17 тысяч), Бэббидж так и не смог построить разностную машину ни за три, ни за десять лет. Когда финансирование закончилось, он переключился на другое изобретение — так называемую «аналитическую машину», которая (в теории) могла не только табулировать логарифмы, но и вести другие полезные вычисления для инженеров и математиков (подробно о ее устройстве написано тут). Ее, вероятно, можно считать одним из первых прототипов современного компьютера. Например, в машине должны были использоваться перфокарты, идею которых Бэббидж позаимствовал у ткацких станков Жаккарда.

О работе новой аналитической машины Бэббидж рассказывал в Туринском университете в 1842 году, и по мотивам этого выступления итальянский инженер Луиджи Менабреа (впоследствии — премьер-министр Италии) написал статью на французском языке. Она вышла в академическом журнале «Bibliothèque universelle de Genève» в том же году.

В 1842—1843 гг. леди Лавлейс, по просьбе Чарльза Уитстона, перевела эту статью на английский, сопроводив своими комментариями. Материал был опубликован в одном из выпусков «Scientific Memoirs» и подписан инициалами A.A.L. Он содержал 66 страниц, причем на 41 были как раз уточнения Ады. Самое примечательное из них последнее — заметка G, которая сейчас многими исследователями считается первой в истории компьютерной программой.

Какую конкретно программу написала Лавлейс

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

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

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

Сейчас заметка Ады помещается в паре строчек кода (вот пример реализации на языке Python), но в то время не было даже такого термина — «программа», а если бы он существовал, ей можно было бы считать колоду перфокарт. Другая сложность в том, что не было и самой работающей машины, поэтому ученая по сути работала «виртуально» на двух уровнях и писала виртуальный алгоритм для виртуальной машины — говорит исследовательница Сейди Плант. С идеологической точки зрения все это не принципиально и не мешает называть Лавлейс именно программисткой. Если вопросы к ней у кого-то и возникают, связаны они не с этим.

Значение работ Лавлейс (и их критика)

Публикация Ады Лавлейс широко обсуждалась в английском научном сообществе (например, ее хвалил пионер электромагнитной индукции Майкл Фарадей), но по-настоящему вклад Лавлейс оценили только через столетие после смерти, когда машину Бэббиджа в своей книге «Faster than Thought: A Symposium on Digital Computing Machines» упомянул Бертрам Боуден, а комментарии Ады включил как дополнение к ней. Примерно тогда же началась современная компьютерная эпоха.

В 1980-м Минобороны США укрепило репутацию английской ученой, когда окончательно разработало универсальный язык программирования ADA (для военных целей). Видимо, к тому времени в обществе уже сформировался консенсус о том, что Лавлейс все-таки верно считать первой в истории программисткой и новатором в области информатики. Например, биограф Стива Джобса Уолтер Айзексон в книге «The Innovators» называет ее точкой отсчета технической революции.

С этим согласны не все: критики указывают, что первые программы для своих машин писал сам Бэббидж задолго до Ады, а у нее было недостаточно знаний для написания алгоритма. Упомянутая Дороти Стейн — тоже одна из первых программисток, но уже среди наших современниц, написавшая биографию Ады для MIT Press в 1985-м, считала, что девушка была скорее «байроновской» героиней с тягой к азартным играм (это правда), наркотикам и внебрачным связям, а в науках разбиралась слабо. Стейн предполагает, что комментарии к аналитической машине мог написать сам Бэббидж, а именем Ады он подписал их, чтобы воспользоваться ее знаменитой фамилией (это в английском называется ghost-writing).

Впрочем, мнение Стейн скорее в оппозиции. Другие биографы его оспаривают. Среди них Бетти Тул, написавшая кнингу «ADA: The Enchantress of Numbers» в 1998-м. Она отмечает, что Бэббидж был ярким изобретателем и, возможно, тоже писал программы, но ценность Ады (даже если ее программа не первая) в том, что она увидела и сумела описать потенциал его аналитической машины.

Более того, Ада Лавлейс в своих комментариях выступала визионером: она писала, что в будущем такая машина изменит способ обработки информации, сможет, зная «фундаментальные отношения между тональностями звуков, сочинять музыкальные произведения любой степени сложности». Подобно Жаккардовому станку, она сможет плести алгебраические узоры и совершать открытия там, где мы и не догадываемся.

Ада также повлияла на робототехнику, правда, косвенно. Например, в ее честь назван тест на определение ИИ, заменивший тест Тьюринга. В одном из писем она говорила, что аналитические машины не способны к творчеству, а могут выполнять только то, что приказано. Тест отталкивается от этой идеи: в нем искусственному интеллекту предлагается создать, например, рассказ или стихотворение. Он считается пройденным, если программист не может объяснить, как алгоритм пришел к результату.
Визионерский посыл Ады в очередной раз зафиксировали осенью 2022 года, когда NVIDIA представила новую архитектуру чипов Ada Lovelace. Она реализована в мощнейших видеокартах GeForce 40-й серии, а также в профессиональных картах RTX 6000 Ada Generation. Сейчас это вершина полупроводниковой отрасли.

Гендерное неравенство в технологиях

Профессорка теоретической математики в Математическом институте Макса Планка Анна Сиферт считает, что фигура Ады Лавлейс масштабна еще и потому, что она была одной из немногих женщин, осуществивших мечту о научной карьере в консервативном на тот момент обществе (для справки, женщины в Британской империи получили право голосовать на выборах через 76 лет после смерти Ады, в 1928-м). Поэтому она — важная мотивирующая фигура и до сих пор востребована.

По словам экспертов «Сколково», в IT женщины занимают в среднем не более 25% рабочих мест (числа справедливы как для западных стран, так и для РФ); еще они чаще покидают сферу и хуже продвигаются по карьерной лестнице. Stack Overflow приводит более обескураживающие данные: в 2021 году женщин в IT, по данным веб-сайта, было всего 5,31% (хотя за год до этого — 8%).

Это не только несправедливо, но и неэффективно, потому что с работой девушки часто справляются лучше. GitHub несколько лет назад проводил исследование на основе гендерно-нейтральных профилей (то есть участники эксперимента не знали, кто перед ними) и пришел к выводу, что код, написанный женщинами, в итоге согласовывали на 4% чаще, чем код, написанный мужчинами.

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

Подписывайтесь на нас в соцсетях и читайте другие материалы: