Из истории информатики: 10 декабря


10 декабря в 1815 году родилась Августа Ада Байрон (1815–1852), графиня Лавлейс, вошедшая в историю компьютерной техники как первая женщина-программист.

Ада Августа Байрон родилась 10 декабря 1815 года; родители её расстались, когда девочке было два месяца, и больше своего отца она не видела. Байрон посвятил дочери несколько трогательных строк в "Паломничестве Чайльд Гарольда", но при этом в письме к своей кузине заранее беспокоился: "Надеюсь, что Бог наградит её чем угодно, но только не поэтическим даром..." Ещё менее намерена была способствовать развитию у дочери литературных наклонностей мать, которую в свете за увлечённость точными науками прозвали "принцессой параллелограммов". Ада получила прекрасное образование, в том числе и в области математики.

К 1834 году относится её первое знакомство с выдающимся математиком и изобретателем Чарльзом Бэбиджем (1791-1871), создателем первой цифровой вычислительной машины с программным управлением, названной им "аналитической".

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

Несмотря на почти сорокалетний труд своего создателя, машина так и не была достроена, опережая не только потребности, но и технические возможности своего времени. Многие из идей Бэбиджа просто не могли быть реализованы на базе механических устройств и оказались востребованы только спустя столетие, с разработкой первых электронных вычислительных машин. Понятно, что современники относились к работам Бэбиджа как к экстравагантному чудачеству. Супруга известного английского математика того времени де Моргана, под руководством которого Ада Августа изучала математику, так описывала их первый визит к Бэбиджу: "Пока часть гостей в изумлении глядела на это удивительное устройство с таким чувством, с каким, говорят, дикари первый раз видят зеркальце или слышат выстрел из ружья, мисс Байрон, совсем ещё юная, смогла понять работу машины и оценила большое достоинство изобретения".

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

В 1835 г. Ада Байрон вышла замуж за Уильяма, восемнадцатого лорда Кинга, ставшего впоследствии первым графом Лавлейс. (В некоторых русских публикациях с титулом семейства Лавлейс связывается слово ловелас; это ошибка: Ловелас - имя героя популярного в начале прошлого века романа Ричардсона "Кларисса Гарло", ставшее нарицательным для обозначения волокиты, соблазнителя). Муж не имел ничего против научных занятий супруги и даже поощрял её в них. Правда, высоко ценя её умственные способности, он сокрушался: "Каким отличным генералом ты могла бы стать!" Появление детей на время отвлекло Аду от занятий математикой, но в начале 1841 г. она пишет Бэбиджу: "Я надеюсь, что моя голова может оказаться полезной Вам в реализации Ваших целей и планов в течении ближайших трёх-четырёх, а может быть, и более лет".

По просьбе Бэбиджа, Ада занялась переводом очерка итальянского военного инженера Луи Фредерико Менабреа (в будущем профессора механики Туринского университета, одного из лидеров борьбы за объединение Италии, с 1867 г. - её премьер-министра и министра иностранных дел).

Менабреа в 1840 г., слушая в Турине лекции Бэбиджа, подробно записал их, и в своём очерке впервые дал полное описание аналитической машины Бэбиджа и его идей программирования вычислений. Он писал: "Сам процесс вычисления осуществляется с помощью алгебраических формул, записанных на перфорированных картах, аналогичных тем, что используются в ткацких станках Жаккара. Вся умственная работа сводится к написанию формул, пригодных для вычислений, производимых машиной, и неких простых указаний, в какой последовательности эти вычисления должны производиться".

Леди Лавлейс не просто перевела очерк Менабреа, но и снабдила его обширными комментариями, которые в сумме почти втрое превысили объём оригинального текста. Все комментарии, их общая структура и содержание подробно обсуждались и согласовывались с Бэбиджем. Известный своей нетерпимостью к чужому мнению, Бэбидж, тем не менее, был в восторге от оригинальных проработок своей ученицы: "Чем больше я читаю Ваши примечания, тем более поражаюсь Вашей интуиции... Мне не хочется расставаться с Вашим превосходным философским рассмотрением моей аналитической машины..."

Книга Менабреа с комментариями, подписанными инициалами A. A. L. (Ada Augusta Lovelace), вышла в свет в августе 1843 года. Отдавая должное обоим авторам, Бэбидж писал: "Совокупность этих работ (Менабреа и Лавлейс) представляет для тех, кто способен следовать ходу их рассуждений, наглядную демонстрацию того, что практически любые операции математического анализа могут быть выполнены с помощью машины". При этом Бэбидж так до конца и не примирился с концепцией Ады, которую впоследствии Тьюринг именовал шестым постулатом противников идеи мыслящей машины: "Аналитическая машина не претендует на то, чтобы создавать что-то действительно новое. Машина может выполнять лишь то, что мы умеем ей предписать".

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

Самая простая из них и наиболее подробно описанная - программа решения системы двух линейных алгебраических уравнений с двумя неизвестными. При разборе этой программы было впервые введено понятие рабочих ячеек (рабочих переменных) и использована идея последовательного изменения их содержания. От этой идеи остаётся один шаг до оператора присвоения - одной из основополагающих операций всех языков программирования, включая машинные.

Вторая программа была составлена для вычисления значений тригонометрической функции с многократным повторением заданной последовательности вычислительных операций; для этой процедуры Лавлейс ввела понятие цикла - одной из фундаментальных конструкций структурного программирования.

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

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

Бэбидж был готов на всё, чтобы раздобыть необходимые деньги. В частности, вместе с супругами Лавлейс он увлёкся идеей создания "подлинно научной, математической" системы ставок на бегах, которая давала бы верный выигрыш. Как и следовало ожидать, "система" не сработала и принесла не только разочарование, но и большие финансовые потери. Самым стойким её приверженцем оказалась графиня Лавлейс - она продолжала упорно играть, часто даже втайне от мужа и Бэбиджа, пытаясь усовершенствовать систему. На этом она потеряла почти все свои личные средства.

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

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

В мае 1979 г. победителем в конкурсе разработки языков был признан язык Ада, названный в честь Ады Августы Лавлейс, и предложенный группой под руководством француза Жана Ишбиа. Прототипом этого языка явился язык программирования, названный в честь Блеза Паскаля, который еще в возрасте девятнадцати лет, в 1624 г., разработал проект "Паскалины" или, по-другому, "Паскалева колеса" - первой механической вычислительной машины. С появлением и широким распространением персональных компьютеров язык Ада во многом утратил свою значимость, однако до сих пор используется как язык высокого уровня для разработки программ, работающих в реальном масштабе времени.

Любопытно, что в честь Ады Лавлейс названы в Америке также два небольших города - в штатах Алабама и Оклахома. В Оклахоме существует и колледж её имени. Вроде бы - немного, но, вместе с тем, есть люди, искренне полагающие, что на сегодняшний день слава (или, по крайней мере, популярность) Ады Лавлейс затмила славу её знаменитого отца, и что её вклад в мировую цивилизацию, по крайней мере, соизмерим с вкладом великого поэта.


Источник материала:

  1. Ада Августа Байрон URL: http://www.peoples.ru/undertake/soft/bayron/





Избранное