Выдающиеся личности в истории вычислительной техники. Августа Ада Лавлейс
ВВЕДЕНИЕ
В истории вычислительной техники существует множество имён. В их ряду рядом стоят имена Ады Лавлейс и Чарльза Бебиджа. Чарльз Бэббидж–человек, который создал чертежи аналитической машины, и женщина, которая написала первую в мире программу для этой машины. Она была великим математиком и очень настойчивым человеком, её не разочаровало даже то, что она не увидела свою программу работающей.
1. ИСТОРИЯ АДЫ ЛАВЛЕЙС
1. 1. Имена Ады Лавлейс и Чарльза Бэббиджа в истории вычислительной техники В истории вычислительной техники имена Чарльза Бэббиджа и Ады Лавлейс стоят рядом. Автор единственной научной работы–примечаний к переведённой ею с итальянского на английский язык статьи об аналитической машине Бэббиджа–она навсегда вписала своё имя в историю науки. "… Несколько страниц, написанных за ночь перед дуэлью Эваристом Галуа, открыли миру гениального математика. Единственная песня–"Марсельеза", сочинённая капитаном Руже де Лимм, сделала его имя бессмертным. Составленные двадцативосьмилетней графиней Августой Адой Лавлейс, примечания к статье итальянского инженера Л. Ф. Менабреа дают основания считать её первой программисткой, чьё имя навсегда останется в истории вычислительной математики и вычислительной техники" /7/. По существу, Ада Лавлейс заложила научные основы программирования на вычислительных машинах за столетие до того, как стала развиваться эта наука. Близкий друг семьи Лавлейс математик Август де Морган, в своё время преподававший математику шестнадцатилетней Аде, был убеждён, что она способна на гораздо большее, что "данный трактат вовсе не критерий того, чего можно от неё ожидать".
1. 2. Семья и воспитание юной "мамы программирования"
Августа Ада Лавлейс родилась 10 декабря 1815 года. Она была единственной дочерью великого английского поэта Джорджа Гордона Байрона (1788 - 1824) и Аннабеллы Байрон, урождённой Милбэнк (1792 - 1860). "Она незаурядная женщина, поэтесса, математик, философ", - писал Байрон о своей будущей жене в 1813 году. Ада унаследовала у матери любовь к математике и многие черты отца, в том числе, близкий по эмоциональному складу характер. В 1816 году Байрон навсегда покидает Великобританию. Он никогда больше не видел дочери, но часы вспоминал о ней, посвятил ей трогательные и нежные строки в поэме "Чайльд Гарольд": "Дочь, птенчик, Ада милая! На мать
Похожа ль ты, единственно родная? В день той разлуки мне могла сиять В твоих глазах надежда голубая… * * * * * * * * * * Спи в колыбели сладко, без волнения; Я через море, с горной высоты Тебе любимой, шлю благословенье, Каким могла б ты стать для моего томленья! " /1/.
Ада получила прекрасное воспитание. Важное место в нём занимало изучение математики–в немалой степени под влиянием матери. Бэббидж, который был знаком с леди Байрон, поддерживал увлечение юной Ады математикой. Бэббидж постоянно следил за научными занятиями Ады, он подбирал и посылал ей статьи и книги, в первую очередь по математическим вопросам. Занятия Ады поощряли друзья её семьи– Август де Морган и его жена, супруги Соммервил и другие. 1. 3. Первое знакомство с разностной машиной. Замужество
К 1834 году относится знакомство Ады с разностной машиной Бэббиджа. Ада посещает публичные лекции Д. Ларднера о машине. В это же время совместно с Соммервилем и другими она впервые посещает Бэббиджа и осматривает его мастерскую. После первого посещения Ада стала часто бывать у Бэббиджа, иногда в сопровождении миссис де Морган. В своих воспоминаниях де Морган так описала один из первых визитов: "Пока часть гостей в изумлении глядела на это удивительное устройство с таким чувством, как говорят, дикари первый раз видят зеркальце или слышат выстрел из ружья, мисс Байрон, совсем ещё юная, смогла понять работу машины и оценила большое достоинство изобретения" /2/. В 1835 году Ада Байрон в возрасте девятнадцати лет вышла замуж за лорда Кинга, который впоследствии стал графом Лавлейс. Замужество Ады не отдалило её от Бэббиджа; их отношения стали ещё более сердечными. В начале знакомства Бэббиджа привлекли математические способности девушки. В дальнейшем Бэббидж нашёл в ней человека, который поддерживал все его смелые начинания. Ада была почти ровесницей его рано умершей дочери. Всё это привело к тёплому и искреннему отношению к Аде на долгие годы.
Ада была маленького роста, и Бэббидж, упоминая о ней, часто называл её феей. Однажды редактор журнала "Examinator" описал её следующим образом: "Она была удивительна, и её гений (а она обладала гениальностью) был не поэтический, а математический и метафизический, её ум находился в постоянном движении, который соединился с большой требовательностью. Наряду с такими мужскими качествами, как твёрдость и решительность, леди Лавлейс присущи были деликатность и утонченность наиболее изысканного характера. Её манеры, вкусы, образование… были женскими в хорошем смысле этого слова, и поверхностный наблюдатель никогда не смог бы предположить силу и знание, которые лежали скрытыми под женской привлекательностью. Насколько она питала неприязнь к легкомыслию и банальностям, настолько она любила наслаждаться настоящим интеллектуальным обществом. Она страстно желала быть знакомой со всеми людьми, известными в науке, искусстве и литературе"/3/.
Ада унаследовала от отца и литературные способности: её письма написаны легко, красивым языком. В одном из писем к Бэббиджу, давая себе характеристику, Ада Лавлейс пишет: "Мой мозг–нечто большее, чем просто смертная субстанция, надеюсь, время накажет это (если только моё дыхание и прочее не будет слишком быстро прогрессировать к смерти). Клянусь Дьяволом, что не пройдёт и десяти лет, как я высосу некоторое количество жизненной крови из загадок вселенной, причём так, как этого не смогли бы сделать обычные смертные губы и умы. Никто не знает, какая ужасающая энергия и сила лежат ещё неиспользованными в моём маленьком гибком существе" /3/. Супруги Лавлейс вели светский образ жизни, регулярно устраивая приёмы и вечера в своём лондонском доме и загородном имении Окхат-Парк. На них постоянно бывал и Бэббидж. В дополнении к частым личным встречам между Адой Лавлейс и Бэббиджем велась оживлённая переписка.
2. ПОКОРЕНИЕ ВЕРШИН МАТЕМАТИКИ 2. 1. От светской и семейной жизни – к глубинам математики
У супругов Лавлейс в 1836 году родился сын, в 1838 – дочь и в 1839 –сын. Естественно, что это оторвало Аду на время от занятий математикой. Но вскоре после рождения третьего ребёнка она обращается к Бэббиджу с просьбой подыскать ей преподавателя математики. При этом она пишет, что имеет силы дойти так далеко в достижении своих целей, как она этого пожелает. Бэббидж в письме от 29 ноября 1839 года отвечает Лавлейс: "Я думаю, что Ваши математические способности настолько очевидны, что не нуждаются в проверке. Я навёл справки, но найти в настоящее время человека, которого я мог бы рекомендовать Вам как преподавателя, мне не удалось. Я продолжу поиски" /3/.
С начала 1841 года Лавлейс серьёзно занялась изучением машин Бэббиджа. В одном из писем к Бэббиджу Ада пишет: "Вы должны сообщить мне основные сведения, касающиеся Вашей машины. У меня есть основательная причина желать этого" /2/. В письме от 12 января 1841 года она излагает свои планы: "…Некоторое время в будущем (может быть в течение 3-х или 4-х, а возможно, даже многих лет) моя голова может служить Вам для Ваших целей и планов… Именно по этому вопросу я хочу серьёзно поговорить с Вами" /2/. Это предложение было с признательностью принято Бэббиджем. С того времени их сотрудничество не прерывалось и дало блестящие результаты.
В октябре 1842 года была опубликована статья Менабреа, и Ада занялась её переводом. Впоследствии Бэббидж вспоминал, что, узнав о переводе, спросил Аду, почему она не написала самостоятельной статьи по этому вопросу, с которым была так хорошо знакома. На это леди Лавлейс ответила, что эта мысль не пришла ей в голову. Тогда Бэббидж предложил ей написать примечания к этой статье, и она приняла эту идею.
2. 2. Совместный труд над работой жизни.
План и структуру примечаний они вырабатывали совместно. Закончив очередное примечание, Ада отсылала его Бэббиджу, который редактировал его, делал различные замечания и отсылал. Работа была передана в типографию 6 июля 1843 года.
Несмотря на принципиальное согласие, иногда им приходилось нелегко, т. к. столкнулись две яркие индивидуальности со своими взглядами, привычками, манерой работы. Бэббидж мог перепутать отдельные страницы, иногда даже терял их, по нескольку раз правил одни и те же листы и не заглядывал в другие. Это раздражало аккуратную Лавлейс. В свою очередь Ада болезненно воспринимала некоторые замечания Бэббиджа. Так она пишет: "Я очень раздасована тем, что Вы изменили моё примечание. Вы знаете, что я всегда соглашаюсь делать любые необходимые изменения, но самостоятельно, и я не терплю, чтобы кто-либо вмешивался в мой текст" /2/.
Но, несмотря на некоторые неувязки и порой даже резкий тон, они работали совместно, хорошо понимая друг друга. Созданию такой творческой обстановки в первую очередь способствовал Бэббидж. Хотя он был раздражительным человеком, обижавшимся на любые возражения, в отношении Лавлейс он старался проявлять чуткость и тактичность. Он понимал, что для женщины со слабым здоровьем и большими, пусть даже обоснованным, самомнением, одобрение является существенным стимулом творчества. Поэтому Бэббидж не упускал случая отметить успехи Лавлейс.
Центральным моментом работы Лавлейс было составление программы (чисел) вычисления чисел Бернулли. Она пишет Бэббиджу: "Я хочу вставить в одно из моих примечаний кое-что о числах Бернулли в качестве примера того, как неявная функция может быть разрешимой с помощью машины без того, чтобы предварительно быть вычисленной с помощью головы и рук человека" /2/. Бэббидж не только прислал необходимые данные, но и составил последовательность действий, лежащую в основе программы. Однако при этом он допустил ошибку, обнаруженную Адой. Об окончании составления программы она известила его 19 июля. По мнению Бэббиджа, программа была достойна отдельной статьи или брошюры, но Ада ответила Бэббиджу длинным на 16 страницах письмом, где решительно отклонила это предложение, поскольку это нарушило бы сроки публикации статьи Менабреа с её примечаниями. 28 июля Лавлейс восторженно пишет Бэббиджу: "Я счастлива узнать, что мои Примечания требуют фактически мало исправлений. Сказать честно, они удивили меня…, хоть речь идёт обо мне самой. Они действительно написаны прекрасным стилем, который превосходит стиль самого очерка" /2/.
2. 3. Рождение первенца и критическое перенапряжение
Августа Ада Лавлейс работает с большим напряжением. В письмах к Бэббиджу она неоднократно жалуется на утомление, болезни, плохое самочувствие. Наконец, 6 августа Бэббидж отсылает Аде свои последние замечания и просит передать всё в типографию. В конце августа 1843 года перевод статьи Менабреа с примечаниями Лавлейс вышел в свет.
Бэббидж был очень доволен и, отдавая дань обоим авторам, писал: "Эти работы (Менабреа и Лавлейс), взятые вместе, представляют для тех, кто способен понимать рассуждения, полную демонстрацию того, что все действия и операции анализа могут быть выполнены с помощью машин" /3/.
Менабреа был удивлён, обнаружив свою статью не только хорошо переведённой, но и снабжённой обширными и глубокими комментариями и замечаниями. Статья переведена неизвестным для Менабреа математиком, а каждое замечание было подписано инициалами A. A. L/ (Ada Augusta Lovelace), которые он не мог связать ни с одним известным ему миром (см. стр. 10). Каково же было восхищение Менабреа, когда после длительных выяснений он узнал, что за этими инициалами кроется 28-ми – летняя леди Лавлейс. 3. ФИНАЛЬНАЯ КРИВАЯ?
Начиная с 1844 года, Ада Лавлейс всё больше увлекается игрой на скачках, тем более, что сама прекрасно ездила и любила лошадей. На скачках играли и Бэббидж и Вильям Лавлейс, причём Бэббидж интересовавшийся прикладными вопросами теории вероятностей, рассматривал с этих позиций и игру на скачках и искал оптимальную систему игры. Однако и Бэббидж, и муж Ады сравнительно скоро отказались от участия в игре. Но Ада, сблизившись с неким Джоном Кроссом, упорно продолжала играть. Она израсходовала почти все принадлежащие ей средства и к 1848 году сделала большие долги. Потом её матери пришлось погасить эти долги, а заодно и выкупить компрометирующие письма у Джона Кросса. В начале 50-ых годов появлялись первые признаки болезни, унесшей жизнь Ады Лавлейс. В ноябре 1850 года пишет Бэббиджу: "Здоровье моё … настолько плохо, что я хочу принять Ваше предложение и показаться по приезде в Лондон Вашим медицинским друзьям" /2/. Несмотря на принимаемые меры, болезнь прогрессировала и сопровождалась тяжёлыми мучениями. 27 ноября 1852 года Ада Лавлейс скончалась, не достигнув 37 лет. Она была погребена рядом с отцом в фамильном склепе Байронов.
4. ОСНОВНЫЕ ИДЕИ РАБОТЫ АДЫ ЛАВЛЕЙС "ПРИМЕЧАНИЯ ПЕРЕВОДЧИКА" Скромные по названию "Примечания переводчика" более чем вдвое превышают текст переведённой статьи (статья Менабреа занимает 20 страниц, а примечания–50). Всего 8 примечаний, посвящённых, в основном, трём взаимосвязанным вопросам уточнения и пояснения для читателя некоторых принципов и особенностей работы аналитической машины; рассмотрение теоретических возможностей машины; программирование решения задач на этой машине.
В примечании А Лавлейс сравнивает две машины –разностную и аналитическую. Она отмечает, что вычислительная машина представляет собой совершенно иную область науки и техники и уделяет внимание выработке соответствующей терминологии. По определению Лавлейс, аналитическая машина представляет собой воплощение науки об операциях и сконструирована специально для действий над абстрактными числами как объектами этих операций. "Под словом операция, - пишет Лавлейс, - мы понимаем любой процесс, который изменят взаимное отношение двух или более вещей, какого рода эти отношения ни были бы. Это наиболее общее определение (охватывающее все предметы во Вселенной). … Операционный механизм может быть приведён в действие независимо от объекта, над которым производится операция. … Этот механизм может действовать не только над числами, но и над другими объектами, основные соотношения между которыми могут быть выражены с помощью абстрактной науки об операциях и которые могут быть приспособлены к действию операционных обозначений и механизма машины. Предположим, например, что соотношения между высотами звуков в гармонии и музыкальной композиции поддаются такой обработке; тогда машина сможет сочинять искусно составленные музыкальные произведения любой сложности или длительности"/2/.
Последнее замечание Лавлейс удивительно. По существу, она впервые в научном плане (и вполне обоснованно) ставит вопрос о возможности получения с помощью вычислительной машины результатов, аналогичных результатам, полученным в процессе художественного творчества. В основном же примечание Ады относятся к сравнительной оценке двух машин. Лавлейс пишет, что аналитическая машина по сравнению с разностной играет такую же роль, какую математический анализ по отношению к арифметике. Лавлейс делает принципиальный вывод об отсутствии ограничений для математических возможностей аналитической машины. В терминах 20 века можно было бы сказать об алгоритмической универсальности аналитической машины: любой алгоритм в принципе может быть реализован.
Лавлейс по достоинству оценила значение изобретений, лежащих в основе ткацкого станка Жаккара (перфокарт и соответствующих механизмов) и применённых Бэббиджем для управления аналитической машины. Она образно описала значение перфокарт. "Карты только указывают сущность операций, которые должны быть совершены, и адреса переменных, на которые эти действия направлены. Можно сказать достаточно точно, что аналитическая машина ткёт алгебраические удары, как ткацкий станок Жаккара– цветы и листья"/2/.
В примечании ВЛавлейс рассматривает запоминающие устройства (склад) аналитической машины и покрывает возможность записи в любом регистре любого числа. Она поясняет читателю, что "склад" аналитической машины представляет собой (пользуясь современной терминологией) оперативное устройство (запоминающее), позволяющее записывать, стирать, хранить и извлекать любые числа, над которыми можно произвести любую последовательность арифметических операций, причём на всех этапах сохранять промежуточные результаты вычислений.
В примечании СЛавлейс объясняет читателю изобретённый Бэббиджем и упомянутый в статье Менабреа способ возврата одиночной перфокарты или группы перфокарт с целью их повторного использования любое число раз. Повторное использование имеет существенное значение, т. к. при решении задач очень часто возникает необходимость в многократном повторении той или иной последовательности команд. Возможность такого повторения значительно упрощает составление программы. Примечание Dпредставляет существенный интерес для истории программирования. Здесь приведена программа машинного решения системы двух линейных уравнений с двумя неизвестными. Лавлейс впервые применяет термин "рабочая переменная", эквивалентный современному–"рабочая ячейка". Этот термин Лавлейс использует для обозначения трёх типов колонок памяти:
С заранее установленными данными, Хранящими конечные результаты вычислений, Содержащие промежуточные результаты вычислений.
Эти виды рабочих ячеек выделяются и в современных руководствах по программированию. Лавлейс предлагает при выполнении операции сложения её результат записывать на ту же колонку памяти, где до этого хранилось одно из слагаемых (делается для экономии памяти). Для обозначения такой операции она пользуется двумя формами записи. Более краткая форма Yn=Yp+Yn аналогична той, которая применялась в одном из алгоритмических языков– Фортране. В примечании ЕЛавлейс уточняет и развивает соображения Менабреа о возможности расчёта на аналитической машине функций вида: Y= a + bx , Y = A + BcosX. Здесь Лавлейс формулирует: "Многие лица, недостаточно знакомые с математикой, считают, что роль машины сводится к получению результатов в цифровой форме, а природа самой обработки данных должна быть арифметической и аналитической. Это заблуждение. Машина может обрабатывать и объединять цифровые величины точно так, как если бы они были буквами или любыми другими символами общего характера, и фактически она может выдать результаты в алгебраической форме" /2/. В этом же примечании Лавлейс впервые вводит понятие цикла операций, а также понятие цикла циклов. В примечании Fсодержится, в частности, интересное замечание Лавлейс о возможностях аналитической машины получать решение такой задачи, которую из-за трудностей вычислений практически невозможно решить вручную. Здесь (устройство) машина рассматривается не как устройство, заменяющее человека, а как устройство, способное выполнять работу, превышающую практические возможности человека. В заключительном примечании Gдана программа вычисления чисел Бернулли, в которой Лавлейс продемонстрировала возможность программирования на аналитической машине.
Немалое значение для истории науки представляет вопрос: насколько точно и удачно Лавлейс реализовала свою идею–составление машинной программы для решения сравнительно сложной задачи? Проверить вручную подобную программу весьма затруднительно–желателен практический эксперимент на ЭВМ. Такой эксперимент был проведён в СССР в 1978 году на машине БЭСМ-6. Текст программы был закодирован на языке программирования Фортран в Дубне, отладка программы выявила одну ошибку и одну опечатку. И это вполне понятно, так как написать подобную работу без проверки на компьютере и без ошибок невозможно. Ещё один важный пункт–программа Лавлейс требует минимального количества перфокарт и обеспечивает экономию памяти.
Примечание GИнтересно ещё и в другом отношении. Широкую известность получило высказанное Лавлейс мнение о принципиальных возможностях аналитической машины: ”Аналитическая машина не претендует на то, чтобы создавать что-то действительно новое. Машина может выполнить всё то, что мы умеем ей предписать. Она может следовать анализу. Но она не может предугадать какие-либо аналитические зависимости или истины. Функции машины заключаются в том, чтобы помочь нам получить то, с чем мы уже знакомы“ /2/.
Это высказывание сделано в конце девятнадцатого века, когда не было никаких компьютеров, но даже сегодня по этому вопросу мы остались на том же уровне: компьютеры выполняют написанные программы, но не создают ничего нового. Пока никто не смог создать ЭВМ и программное обеспечение для неё, которое обладало бы творческими возможностями. Однако широко распространились программы с "псевдоинтеллектом", но это результат лишь хорошо продуманного алгоритма. 5. ЗНАЧЕНИЕ РАБОТЫ АДЫ ЛАВЛЕЙС
Хотя Бэббидж написал свыше 70 книг и статей по различным вопросам, а также составил большое число неопубликованных описаний аналитической машины, полного и доступного описания и, главное, анализа возможностей машины для решения задач он так и не сделал. Бэббидж говорил, что слишком занят разработкой машины, чтобы уделять время её описанию.
Работа Лавлейс не только заполнила этот пробел, но и содержала глубокий анализ особенностей аналитической машины. Она настолько хорошо понимала его работу, что описала принцип действия аналитической машины с чёткостью, которой не ожидал сам Бэббидж. Он неоднократно повторял, что представления Лавлейс о его работе были яснее, чем его собственные.
Усвоив идеи Бэббиджа и обладая глубокими познаниями в математике, Лавлейс с большой энергией проповедует эти идеи, стремясь сделать их широко известными и понятными, стараясь заинтересовать учёных работами Бэббиджа. Она организовывает целую компанию по популяризации машины и достигает успехов: часть их "детища" была построена. Ада Лавлейс высказала ряд идей, получивших широкое применение только в настоящее время. Основной итог её работы–создание основ программирования на универсальных цифровых вычислительных машинах.
В память об Аде Лавлейс назван разработанный в 1980 году язык АДА –один универсальных языков программирования. Этот язык был широко распространён в США, и Министерство Обороны США даже утвердило название “Ада”, как имя единого языка программирования для американских вооруженных сил, а в дальнейшем и для всего НАТО.
ЗАКЛЮЧЕНИЕ
В этом реферате частично описан жизненный путь и научные исследования леди Августы Ады Лавлейс. Некоторые моменты в этой работе спорны, но это и неизбежно: прошло больше полутора веков с момента, описываемых событий. За это время мир коренным образом преобразился, изменились сами люди, их нравы, быт, традиции. Для примера: леди Лавлейс не могла ставить под примечаниями свои полные имя, фамилию, так как это считалось неприличным для девушек (см. стр. 6).
Несмотря на то, что машина Чарльза Бэббиджа так и не была построена, а программа Ады Лавлейс никогда не использовалась на практике, имена этих людей навсегда вписаны в историю развития вычислительной техники. Они сделали нечто более главное, –они заложили основы программирования и вычислительной техники, т. е. это были первые шаги человечества по этому пути.