Первым в мире компьютером считается «Аналитическая машина» Чарлза Бэббиджа, которую он задумал в 1833 году. В отличие от первой разработки Чарлза, «Разностной машины» (1822 год), новый агрегат должен был производить вычисления по заданным извне указаниям. Чарлзу так и не удалось построить такую машину в реальности, в основном из-за недостаточных технических возможностей.
На технологической выставке в 1834 году Бэббидж сделал доклад о своей первой машине, и каково же было его удивление, когда совсем юная девушка забросала его вопросами, показывающими, что она очень хорошо разобралась в устройстве его изобретения… С тех пор началось плодотворное сотрудничество Бэббиджа с его «феей»…
Кто же была эта фея?
Ада Августа Лавлейс, урожденная Байрон, родилась 10 декабря 1815 года в семье поэта лорда Байрона и его жены Анабеллы. Когда девочке было 2 месяца, лорд Байрон покинул семью и никогда больше ребенка не видел.
Анабелла сделала все возможное, чтобы ее дочь никогда не стала поэтессой. Она приложила все усилия, чтобы заинтересовать Аду математикой и музыкой, и вполне в этом преуспела, нанимая дочери выдающихся в то время учителей. Даже во время болезни Ада, на три года потерявшая способность ходить, продолжала свои занятия.
В 1835 году Ада выходит замуж за лорда Кинга, который впоследствии получил титул графа Лавлейса. В течение последующих трех лет у них родилось два сына и дочь, но ни дети, ни муж, ни светская жизнь не могли оторвать Аду от ее любимой математики. Не зря ее называли «Повелительницей чисел»!
Страстность отца передалась ей в полной мере, просто приложение ее выразилось в другой области — области чисел, цифр и функций. В одном из писем к Бэббиджу она писала:
«Клянусь Дьяволом, что не пройдёт и десяти лет, как я высосу некоторое количество жизненной крови из загадок вселенной, причём так, как этого не смогли бы сделать обычные смертные уста и умы. Никто не знает, какая ужасающая энергия и сила лежат ещё неиспользованными в моём маленьком гибком существе».
Что самое интересное, она оказалась права.
В 1842 году итальянский ученый Луиджи Менабреа познакомился с машиной Бэббиджа и сделал ее описание на французском языке. Бэббидж попросил Аду перевести это описание на английский. В процессе перевода Ада добавила свои замечания и пояснения так, что в конце концов ее работа по объему превышала работу Менабреа в два с половиной раза. Она была опубликована в августе 1843 года и содержит 7 примечаний Ады.
В своих примечаниях она описывает возможности вычислительных машин, причем отмечает, что
«аналитическая машина представляет собой воплощение науки об операциях, созданной специально для действий над абстрактными числами как объектами этих операций».
Ада вводит такие понятия, как цикл, рабочая переменная, хранилище (память), «мельница» (процессор), а также высказывает абсолютно удивительное для XIX века заключение: машина не может создать ничего принципиально нового, а только лишь выполнить команды, определенные человеком. Но при этом вычисления — не единственное применение для подобного рода машин, они смогут создавать, например, музыку, считала Ада.
Кроме того, она написала три программы:
- решение системы двух линейных алгебраических уравнений с двумя неизвестными;
- вычисления значений тригонометрической функции с многократным повторением заданной последовательности вычислительных операций;
- вычисление чисел Бернулли.
В 1978 году в Дубне на вычислительной машине БЭСМ-6 был произведен эксперимент — программа Ады была закодирована на Фортране. При отладке была найдена всего одна ошибка и одна опечатка, кроме того, ее программа требовала минимального количества перфокарт и обеспечивала экономию памяти!
Ада Лавлейс умерла в 36 лет, как и ее отец, и была похоронена в фамильном склепе рядом с ним. Ее работы были на какое-то время забыты, однако с началом развития компьютеров и компьютерного обеспечения ее имя всплыло из небытия. В 1980 году в США был разработан язык программирования АДА, названный в честь графини Лавлейс, первой программистки в мире. А день ее рождения, 10 декабря, отмечается во всем мире как День программистов.