Компьютеры не всегда были такими легкими, смартфоны производительными, а языки программирования — удобными. Информационные технологии очень бурно развивались в последние столетия — в этом принимали участие сотни энтузиастов, при этом имена многих сейчас практически никому не известны. Очень важным героем для информатики является Ада Лавлейс — дочь английского поэта Джорджа Байрона, которая считается первым программистом в мире. Подробно рассказываем про Аду Лавлейс и вкладе, который она внесла в нашу современную жизнь.
- О детстве, отрочестве и немного о личном
- Чарльз Бэббидж и его аналитическая вычислительная машина
- Ада Лавлейс — известность и признание
- Язык программирования «Ада»
- Послесловие
О детстве, отрочестве и немного о личном
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 лет. Причиной смерти стала кровопотеря. В то время было очень «модным» любой недуг лечить кровопусканием, что, собственно, Аду и убило. Но с другой стороны, если бы она не умерла от кровопотери, то умерла бы от рака — у Ады был рак матки. По распоряжению Лавлейс, ее похоронили рядом с отцом в церкви Святой Марии Магдалины в Хакнелле, Ноттингемшир, в семейном склепе Байронов.