Реклама
Спонсорские ссылки
-
Статья
Версия для печати
Обсудить на форуме
История программирования в лицах (Часть 1)



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


   Лавлейс Огаста Ада Кинг (Lovelace Augusta Ada King) 10 декабря 1815 г. - 27 ноября 1852 г.

   Леди Лавлейс была единственной дочерью Джорджа Гордона Байрона (1792-1824). Байрон женился на Аннабелле Милбэнк (1792-1860) 2 января 1815 г. 10 декабря 1815 года в Мидлсекс (сейчас в черте Лондона) у них родилась дочь. Родители Ады прожили вместе всего год (не сошлись характерами). После того, как жена обвинила Байрона в нестандартной сексуальной ориентации (в Англии в те времена за это могли повесить), он подал на развод и отправился в революционную Италию, это произошло когда Аде не было и месяца. Дочь он после этого не видел. После развода мать сплавила ребенка родителям и отправилась круиз, лечится, вернулась она к тому моменту, когда можно было заняться воспитанием ребенка (хорошая мать, ничего не скажешь, а может после родов крыша слегка съехала, и она отправилась ее поправлять :-) ).
   
   Воспитание ребенка начала с "изгнания демонов" (искоренение памяти об отце и борьба с "генами романтики", которые могли достаться Аде от отца). Сначала имя Августа Ада было сокращено до Ада, так как тезка Августа была двоюродной сестрой Байрона, с которой его связывали не совсем родственные отношения, упоминающиеся в "Стансах к Августе". Никто в доме не должен был упоминать о Байроне, а его книги были изъяты из семейной библиотеки.
   
   В начале 1828 г. Ада заболела корью, в то время лечить корь еще не умели, и девочка провела в постели почти три года. На это время мать наняла лучших преподавателей Лондона для образования на дому. Во время болезни миссис Байрон пригласила для Ады своего бывшего учителя - шотландского математика Огастеса де Моргана (1806-1871) (помните "правила де Моргана" в булевой алгебре?). Де Морган увлек юную Аду математикой, что собственно и определило ее дальнейшую жизнь. Профессор де Морган высоко оценил способности своей ученицы, но кроме математики Ада также хорошо играла на нескольких музыкальных инструментах и знала несколько языков (не программирования :-( ).
   
   Де Морган был женат на Мэри Соммервиль (1780-1872) (математик-любитель, перевела "Трактат о небесной механике" Пьера Лапласа), она познакомила Аду с Чарльзом Беббиджем (1791-1871), на тот момент он был профессором математики Кэмбриджского университета, Аде он рассказывал об устройстве своей разностной машины и практической пользе автоматических вычислений. Перед Адой открылась совершенно новая и неисследованная возможность с помощью математики заставить машину помочь человеку решить математические же задачи!
   
   В июле 1835 года она вышла замуж за 29-летнего Уильяма VIII лорда Кинга. В мае 1836 г. у них родился сын, в феврале 1838 г. - дочь, а в конце 1839 г. - второй сын. В 1838 г лорду Кингу было пожаловано графство и графские титулы. Так Ада получила свое полное имя - Ада Августа Байрон-Кинг, графиня Лавлейс.
   
   Но ни смотря, ни на семейные заботы, ни на проблемы со здоровьем она не прекращала заниматься математикой. К тому же замужество облегчило ее труды, т.к. у нее появился источник финансирования в виде капитала графов Лавлейсов.
   
   В 1840 г. Беббидж был в Турине, где он читал лекции о своей машине. Итальянский математик Луиджи Менабреа, один из слушателей этих лекций (впоследствии он стал премьер-министром Италии), преподававший баллистику в Туринской артиллерийской академии, составил и издал в 1842 г. на французском языке конспект Элементы аналитической машины Чарльза Бэббиджа. Статья Менабреа касалась в большей степени технической стороны машины, и представляет сейчас лишь исторический интерес, т.к. современные компьютеры построены, так скажем на иных технических принципах (представьте себе вместо PIV огромный шкаф с валиками и шестеренками, я думаю, что ENIAC по сравнению с ним отдыхает :-) ). Если кто помнит ENIAC (Electronical Numerical Integrator and Computer электронно-цифровой интегратор и вычислитель) - первый ламповый компьютер, который был в первые продемонстрирован 15 февраля 1946 года. Это была первая в мире ЭВМ, ENIAC представлял из себя сооружение более 30 м в длину, объемом 85 кубических метров, весом свыше 30 тонн. Машина состояла из 40 панелей, расположенных П-образно, и содержала более 18 000 электронных ламп и 1500 реле. Потреблял ENIAC около 150 кВт энергии (что-то я отвлекся). Так вот, Бэббидж обратился к Аде с просьбой перевести труд Менабреа на английский. Ада с радостью приступила к переводу, а также к работе над машиной Бэббиджа и ее популяризации. Кроме того, она добавила "Примечания переводчика", вот именно эти примечания (52 страницы, превысившие по объему и по значимости оригинал) и представляют из себя ценность, эти 52 страницы были единственной научной работой Ады (зато какой работой!!!).
   
   Эти восемь примечаний посвящены, в основном, трём вопросам: особенностям работы машины; ее теоретическим возможностям и программированию конкретных задач.
   
   Примечание А: сравнение двух машин - разностной (обычный калькулятор) и аналитической (программируемая вычислительная машина). Ада писала, что вычислительная машина - совершенно новая область науки и техники и выработала терминологию (которую мы до сих пор и используем). Она вводит понятие операции, и вот что по этому поводу пишет: "Под словом операция, мы понимаем любой процесс, который изменяет взаимное отношение двух или более вещей, какого рода эти отношения ни были бы. <...> Операционный механизм может быть приведён в действие независимо от объекта, над которым производится операция. <...> Этот механизм может действовать не только над числами, но и над другими объектами, основные соотношения между которыми могут быть выражены с помощью абстрактной науки об операциях и которые могут быть приспособлены к действию операционных обозначений и механизма машины.<...> Предположим, например, что соотношения между высотами звуков в гармонии и музыкальной композиции поддаются такой обработке; тогда машина сможет сочинять искусно составленные музыкальные произведения любой сложности или длительности". Вам данные рассуждения не очем не напомнили? По поводу музыки Ада хорошо предугадала, т.к. существуют программы, которые довольно таки сносно пишут музыку.
   
   Примечание B: рассмотрено запоминающее устройство и предложена система для символического обозначения данных, содержащихся в памяти (типы данных однако)
   
   Примечание D: приведена программа для решения системы двух линейных уравнений с двумя неизвестными (первая в истории программа, при этом не Hello world :-) ). В приложении также применен термин рабочая переменная.
   
   Примечании Е: уточнение и развитие мыслей Менабреа о возможности расчёта функций вида: Y=A+B*X , Y=A+B*cos(X). Ада вводит понятие цикла операций и цикла циклов, т.е. вложенные циклы."Многие лица, недостаточно знакомые с математикой, считают, что роль машины сводится к получению результатов в цифровой форме, а природа самой обработки данных должна быть арифметической и аналитической. Это заблуждение. Машина может обрабатывать и объединять цифровые величины точно так, как если бы они были буквами или любыми другими символами общего характера, и фактически она может выдать результаты в алгебраической форме". Как пример тому MathCAD и подобные ему программы.
   
   Примечание F: Ада замечает, что машина может получать решение задачи, которую из-за объема невозможно решить вручную.
   
   Примечании G: приведена программа вычисления чисел Бернулли, в которой демонстрируются возможности программирования на аналитической машине, в частности, рекурсивные вложенные циклы (некоторые задачи без них очень сложно решить). В управляющих командах появилась команда условного перехода. "... неявная функция может быть вычислена машиной без того, чтобы предварительно быть разрешенной с помощью головы и рук человека."
   
   Бэббидж договорился с редактором научного журнала Ученые записки Тейлора о публикации перевода статьи Менабреа и комментариев к нему. Первый вариант был отдан в типографию 6 июля 1843 года, а 8 августа 1843 года был закончен последний вариант комментариев.
   
   А как вам такая цитата из комментариев? "Аналитическая машина не претендует на то, чтобы создавать что-то действительно новое. Машина может выполнить все то, что мы умеем ей предписать. Она может следовать анализу, но она не может предугадать какие-либо аналитические зависимости или истины. Функции машины заключаются в том, чтобы помочь нам получить то, с чем мы уже знакомы". Выделения сделаны Адой.
   
   4 ноября 1842 г. Беббиджу было отказано в финансировании его работ над машинами. Тогда Ада вместе с мужем и Бэббиджем, увлекавшимся теорией вероятностей, попыталась заработать на машину, играя на бегах. Они придумали систему ставок, но она себя не оправдала и Бэббидж вместе с мужем Ады, проиграв приличную сумму, отказались от игры. Но Ада продолжала "совершенствовать" систему ставок и при помощи некоего Джона Кросса продолжала играть. К 1884 году она прилично залезла в долги. Ее матери пришлось погасить долги, и выкупить компрометирующие Аду письма у Джона Кросса.
   
   В начале пятидесятых у Ады появились признаки рака и 27 ноября 1852 года Ада Лавлейс умерла не дожив до 37 лет. Похоронена она была 3 декабря рядом с отцом в семейном склепе Байронов.
   
   В мае 1979 года был объявлен победитель в конкурсе, проводимый министерством обороны США, на разработку универсального языка программирования. Им был язык Ada, названный в честь Ады Августы Лавлейс. Язык создали ученые и программисты под руководством Жана Ишбиа. Прототипом языка был Pascal.
Версия для печати
Обсудить на форуме