25 мая 2017 г. | Автор: Дан Медовников
Ада Лавлейс - первая женщина-программист

Что было бы с человечеством, если бы компьютер изобрели на сто лет раньше? Например, в первой половине XIX века во времена Викторианской Англии, передовой стране эпохи угля и пара? Фантастика, скажете вы. Действительно, фантасты заинтересовались такой возможностью и выдали целую серию романов в стиле стимпанк (паровой панк). В самом известном из них – «Машине разностей», написанной Уильямом Гибсоном и Брюсом Стерлингом программируемая в первой половине позапрошлого века, вычислительная машина просто переворачивает ход истории.

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

У биографии Августы Ады Лавлейс, урожденной Байрон, весьма литературное начало. Ее отец, великий поэт-романтик лорд Байрон видел свою дочь всего один раз – через месяц после рождения. Чуть позже, получив официальный развод от матери Ады Аннабелы (причины до сих пор остаются тайной), он отправился в добровольное изгнание - многолетнее путешествие по континентальной Европе. Снарядив за свои деньги военную экспедицию в Грецию, Байрон едет освобождать эту страну от османского владычества. В Греции он заболел и умер, оставив после себя стихотворения и поэмы. В самой известной, «Чайльд-Гарольде», есть строки, посвященные будущей программистке: «Я через море, с горной высоты, тебе, любимой, шлю благословение».

Из-за болезни Ада проходила обучение дома, и ей повезло с учителем – шотландским математиком де Морганом, увлекавшимся эзотерикой и нумерологией. Де Морган привил ученице поистине мистическую страсть к числам и вычислениям. Но настоящая викторианская компьютерная история начинается со знакомства Ады с Чарльзом Бэббиджем – профессором математики Кембриджского университета.

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

Между тем Бэббидж не унывал, и к моменту встречи с Адой (1833 год) задумал еще более амбициозный проект – универсальную вычислительную машину, работающую по введенной в нее программе. У новой машины уже были все главные черты современного компьютера. Бэббидж наделил ее помимо вычислительного блока регистрами памяти (запоминающее устройство), управляющим барабаном (устройство управления) и устройством ввода/вывода информации, которые осуществляются с помощью перфокарт, применяемых до этого в ткацких станках для «ввода» нового узора.

Ада с головой ушла в новый проект Бэббиджа и стала его спонсором. Поспособствовало этому то обстоятельство, что в 1835 году мисс Байрон вышла замуж за 29-летнего барона Уильяма Кинга, который вскоре унаследовал титул графа Лавлейса. Молодая семья была прекрасно обеспечена.

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

Машина Бэббиджа так и не была построена, через столетие ее реализуют на совершенно другой технологической базе. Ада вскоре скончается от смертельной болезни. Но написанную ею программу уже в 1978 году на машине БЭСМ-6, закодировав на языке Фортран, проверили в Дубне советские программисты. После отладки обнаружилось, что Ада сто тридцать пять лет назад допустила в программе всего одну ошибку.