Найти тему
Андрей Гурлев

Ада Лавлейс, Первый программист

Оглавление

Графиня Ла́влейс родилась 200 лет назад, но ее имя живет. В 1970 году язык программирования Ada был назван в честь признания ее статуса первого программиста и в 2009 году день Ады Лавлейс был инициирован как день достижения женщин в науке, технологиях, инженерии и математике. Тут мы расскажем о том как она работала с Чарлзом Бэббиджем над его Аналитической машиной.

Существуют значительные неточности в трактовке истории компьютеров.Люди, которые участвовали в создавали программного обеспечения, не редко упускались в отличии от тех людей, которые создавали сами механизмы. Мы, в основном, помним первооткрывателей которые создали первый, второй и третий компьютер, или тех кто был задействован в рывке электроники, но где была написана первая программа? Или кто написал эту программу?

Всегда опасно утверждать, что кто то является первым в чем то, но обычно принято утверждать что первым программистом была Ада Ла́влейс.

Ада Ла́влейс(Декабрь 10,1815-Ноябрь 27,1852). Портрет Маргарет Сара Карпентер (1836) ресурс:Wikipedia
Ада Ла́влейс(Декабрь 10,1815-Ноябрь 27,1852). Портрет Маргарет Сара Карпентер (1836) ресурс:Wikipedia

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

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

Дочь лорда Байрона

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

Ада занималась у частных репетиторов и по некоторым причинам она имела привязанность к науке и особенно к математике. В то время различие между искусством и наукой было не так сильно. Поэтому вполне разумно было быть ребенком поэта и математика.Мать Ады сама была чем-то вроде математика, и Байрон, который всегда с нетерпением ждал новостей о своей разлученной дочери, называл ее "принцессой параллелограммов".

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

Связь с Бебиджем

Ада признана первым компьютерным программистом благодаря ее участию в проекте Чарльза Бэббиджа по созданию его аналитических машин. Их первая встреча состоялась 5 июня 1833 года, а 17 июня она посетила званый вечер в доме Бэббиджа, где он продемонстрировал часть своей Разностной машины № 1 в Лондоне. Какие бы чувства ни были между Адой и Бэббиджем, стоит отметить, что ей было всего 17 лет, когда они впервые встретились, а он был на год старше матери Ады.

Говоря о матери Ады, она присутствовала вместе с дочерью на демонстрации частично законченной разностной машины - и поняла то, что увидела. Ее отчет о его работе ясно указывает на то, что она была способна понять математическое содержание презентации, а также:

"Он возвел число во 2-й и 3-й степеней и извлек корень квадратного уравнения.."* но она, похоже, не понимала его принципов работы. "...У меня были лишь слабые проблески принципов, по которым он работал...".

Леди Байрон должна быть одной из первых, кто написал описание цикла перечисления.:

"Например, Машина продолжала бы считать регулярно, 1,2,3,4 и т. Д. - до 10 000.."

Разностный двигатель, построенный из оригинальных деталей сыном Бэббиджа
Разностный двигатель, построенный из оригинальных деталей сыном Бэббиджа

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

Математик Де Морган также присутствовал на демонстрации и написал:

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

Как все изменилось сегодня, когда погоня за культурой означает что угодно, кроме грязной науки и техники!

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

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

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

Аналитическая машина

Проект Разностной машины был заброшен в том же году (1833), и Бэббидж перешел к разработке своей Аналитической машины, которая была настолько велика, что для поворота ручки потребовался бы паровой двигатель. Хотя машина так и не была построена, небольшая часть была завершена в 1871 году, незадолго до смерти Бэббиджа, а другая-его сыном в 1910 году, и им удалось продемонстрировать принципы.

Аналитическая машина (1910)
Аналитическая машина (1910)

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

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

Бэббидж спросил, почему она не написала его сама, поскольку она, конечно, знала достаточно, чтобы не иметь необходимости что-то переводить. На самом деле переведенная статья была гораздо менее важна, чем обильные заметки, которые она писала после нее - заметки были в три раза длиннее оригинала. Перевод и примечания доступны здесь как часть набора ресурсов по аналитической системе, собранных Fourmilab Switzerland.

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

"Аналитическая машина ткет алгебраические узоры так же, как жаккардовый ткацкий станок ткет цветы и листья".

(Жаккардовый ткацкий станок использовал перфокарты для контроля ткачества.)

Предвидение будущего

Помимо приземленных вычислений чисел Бернулли, Ада в свою очередь размышляла о том, как далеко зайдет компьютер в один прекрасный день. Действительно, ей приписывают первое использование аргумента, который часто называют "возражением леди Лавлейс". Она написала:

Аналитическая машина не претендует на то, чтобы что-то упорядочивать. Она может делать все, что мы что мы сможем приказать ей выполнять".

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

"Аналитическая машина может действовать на вещи, отличные от числа".

Возможно, они оба очень хорошо знали о перспективах механического интеллекта, но беспокоились о том, чтобы не расстроить религиозный истеблишмент, как это сделал Дарвин с "Происхождением видов". Возможно, даже существовала связь между написанием Мэри Шелли "Истории Франкенштейна" и Адой. Однако, помимо признания Ады как первого человека, опубликовавшего компьютерные программы, мы также можем приписать ей то, что она была первым человеком, оценившим потенциал компьютера.

Музыка и программирование

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

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

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

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

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

Наследие Ады

После смерти Ады Бэббидж продолжал попытки завершить аналитическую машину, но мы все знаем, что он потерпел неудачу в своей попытке. В довершение ко всему, заметки Ады о машине были прочитаны другими, и в 1834 году Георг Шойц, шведский инженер, построил разностный двигатель и фактически продал серийную модель! Реклама Ады идей Бэббиджа не всегда давала желаемый эффект.

Аду тоже помнят по-разному. В 1980 году Министерство обороны США назвало свой тогдашний огромный и мощный язык Ada в честь нее, а военному стандарту Министерства обороны для этого языка, MIL-STD-1815, был присвоен номер года ее рождения.

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

На 197-ю годовщину своего рождения в 2012 году Ада Лавлейс была предметом Google Doodle, который показывает ее работу над формулой вместе с изображениями, которые показывают эволюцию компьютера.

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