Скидки до 20% + 2-ая профессия бесплатно и подарки на 50 000₽

Главная | Все статьи | Мотивация

Как дочь великого английского поэта Байрона стала первым в мире программистом. История Ады Лавлейс

Время чтения статьи ~5 минут 23
Как дочь великого английского поэта Байрона стала первым в мире программистом... главное изображение

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

О детстве, отрочестве и немного о личном

10 декабря 1815 года в Лондоне, в семье известного английского поэта Джорджа Гордона Байрона и Анны Изабеллы, баронессы Уэнворт, родилась девочка. Надо сказать, что лорд Байрон очень ждал «славного мальчика» и был весьма разочарован, когда ему сообщили о рождении дочери. При рождении девочке дали имя Августа, в честь сестры Байрона, однако, позже, когда её родители разойдутся, девочку будут называть Адой.

Родители Ады разошлись, когда ей было всего-то пять недель. Ада должна была остаться с отцом — по правилам того времени в случае развода мужчина получал полную опеку над своими детьми, но в случае с семейством Байронов всё сложилось иначе. Лорд Байрон не особо рвался оставить дочь у себя, и когда жена увезла девочку к своим родителям в Киркби Мэллори, не предпринял никаких попыток отстоять свои родительские права. По итогу, отношения Ады с отцом так и не сложились, а может и не успели сложиться — поэт умер в 1824 году, когда Аде было всего восемь лет. Не получилось у нее и близких отношений с матерью. Леди Байрон часто оставляла дочь на попечении своей бабушки, миссис Джудит Хон. Информация в источниках сильно разнится, одни говорят, что несмотря ни на что, мать всё же была у Ады на первом месте, и что леди Байрон принимала участие в воспитании своей дочери; другие говорят, что их встречи была весьма редкими. Но факт, миссис Байрон пригласила для своей дочери хороших учителей:

  • Шотландский математик Огастес де Морган. Очень отличился в своих работах по математической логике и теории рядов, а также дал первую развитую систему алгебры отношений;
  • Мэри Сомервилль. Специалист в области астрономии и математики, шотландский популяризатор науки;
  • Пьер-Симон Лаплас. Математик, физик, механик и астроном — один из создателей теории вероятностей.

Чем старше становилась Ада, тем теснее становилась её дружба с Мэри Сомервилль. Именно она в 1833 году познакомила Аду Лавлейс с Чарльзом Бэббиджем — английским математиком, который изобрёл первую аналитическую вычислительную машину. Среди других знакомых Ады были писатель Чарльз Диккенс, учёный-любитель Эндрю Кросс, шотландский физик Дейвид Брюстер, физик Чарльз Уитстон. В возрасте семнадцати лет Ада Лавлейс была представлена при дворе и получила титул «popular bell of the season» (красавица сезона). Отчасти это звание было дано из-за блестящего ума Ады. К 1843 году девушка стала завсегдатаем королевских мероприятий.

Чарльз Бэббидж и его аналитическая вычислительная машина

14 июня 1822 года Чарльз Бэббидж представил Королевскому обществу Великобритании свою модель разностной машины. По замыслу Бэббиджа, его чудо-машина должна была с большой точностью вычислять корни многочленов, вплоть до шестой степени. К сожалению, математик не смог воплотить свою задумку в жизнь, это за него сделал шведский изобретатель Георг Штутцу. Однако, Штутцу опирался на советы и опыт Бэббиджа и, по итогу, даже взялся за куда более амбициозный проект.

Читайте также: Как гитарист стал биологом, а потом придумал философию современных компьютеров. История великого Алана Кея

Ада Лавлейс — известность и признание

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

Примечание: Числа Бернулли — последовательность рациональных чисел, впервые рассмотренная Якобом Бернулли в связи с вычислением суммы последовательных натуральных чисел, возведённых в одну и ту же степень.

Программа Ады весьма запутанна. По сути, Ада продумала операции, которые можно объединить в группы. В свою очередь, эти группы могли повторяться, что образовывало рекуррентные вложенные циклы. Таким образом, программа Ады отслеживала состояние изменяющихся переменных и записывала эти изменения.

Так получилось, что Ада написала эту программу для потомков — ведь компьютеров тогда еще не было. Уже в наше время программисты пробовали переложить программу Ады на Python и C, но без результатов. В итоге разработчики даже нашли ошибку в расчётах Ады. Вот вам собственно и первый баг! Как отметил блогер Джим Рэндал, переложивший программу Ады на Python: «в «диаграмме развития» Лавлейс пишет v5/v4, но правильно будет v4/v5. Эта ошибка могла появиться при печати, а не у Лавлейс».

Язык программирования «Ада»

В 1979-1980 годах, в рамках проекта Министерства Обороны США был создан объектно-ориентированный язык программирования «Ада», названный в честь Лавлейс. Этот язык имеет компиляторы под практически любую операционную систему. В него включены поддержки параллельного исполнения, настройка модулей, обработка исключений. Синтаксис у «Ады» вполне читаемый:

with Ada.Text_IO;

procedure Hello is
  use Ada.Text_IO;
begin
  Put_Line("Hello, world!");
end Hello;

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

Языка программирования «Ада» на Хекслете нет, но есть много других интересных технологий

Послесловие

Ада Лавлейс скончалась 18 ноября 1852 года; как и её отец, она умерла в возрасте 36 лет. Причиной смерти стала кровопотеря. В то время было очень «модным» любой недуг лечить кровопусканием, что, собственно, Аду и убило. Но с другой стороны, если бы она не умерла от кровопотери, то умерла бы от рака — у Ады был рак матки. По распоряжению Лавлейс, ее похоронили рядом с отцом в церкви Святой Марии Магдалины в Хакнелле, Ноттингемшир, в семейном склепе Байронов.

Аватар пользователя Olesia Vorobeva
Olesia Vorobeva 01 апреля 2021
23
Похожие статьи
Рекомендуемые программы
профессия
Верстка на HTML5 и CSS3, Программирование на JavaScript в браузере, разработка клиентских приложений используя React
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря