План
Введение………………………………………………………………………2
1. ИСТОРИЯ АДЫ ЛАВЛЕЙС
1.1.Имена Ады Лавлейс и Чарльза Бэббиджа в истории вычислительной техники……………………………………………………2
1.2. Семья и воспитание юной "мамы программирования"………………2
1.3. Первое знакомство с разностной машиной. Замужество…………….3
2. ПОКОРЕНИЕ ВЕРШИН МАТЕМАТИКИ
2.1. От светской и семейной жизни – к глубинам математики……………4
2.2. Совместный труд над работой жизни………………………………….4
2.3. Рождение первенца и критическое перенапряжение………………….5
3. ФИНАЛЬНАЯ КРИВАЯ………………………………………………………..6
4. ОСНОВНЫЕ ИДЕИ РАБОТЫ АДЫ ЛАВЛЕЙС "ПРИМЕЧАНИЯ ПЕРЕВОДЧИКА"…..6
5. ЗНАЧЕНИЕ РАБОТЫ АДЫ ЛАВЛЕЙС……………………………………………………...9
6.ДЕЯНИЯ ГРЭЙС ХОППЕР……………………………………………………..9
Список использованной литературы
The only real secrets of trade are industry,
integrity, and knowledge: to the possessors
of these no exposure can be injurious; and
they never fail to produce respect and wealth.
«The Economy of Machinery and Manufactures»
by Charles Babbage, 1832»*
* «Истинные секреты любого ремесла
— это трудолюбие, честность и знание, носителям этих качеств не страшна никакая огласка; такие люди всегда
обретают уважение окружающих и личное благосостояние».
— Чарлз Бэббэдж
, «Машины и производство: экономика», 1832 г. Выдающиеся личности в истории вычислительной техники. Августа Ада Лавлейс
ВВЕДЕНИЕ
В истории вычислительной техники существует множество имён. В их ряду
рядом стоят имена Ады Лавлейс и Чарльза Беббиджа. Чарльз Бэббидж – человек,
который создал чертежи аналитической машины, и женщина, которая написала
первую в мире программу для этой машины. Она была великим математиком и
очень настойчивым человеком, её не разочаровало даже то, что она не увидела
свою программу работающей.
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 года
перевод статьи Менабреа с примечаниями Лавлейс вышел в свет.
Бэббидж был очень доволен и, отдавая дань обоим авторам, писал: "Эти
работы (Менабреа и Лавлейс), взятые вместе, представляют для тех, кто
способен понимать рассуждения, полную демонстрацию того, что все действия и
операции анализа могут быть выполнены с помощью машин".
Менабреа был удивлён, обнаружив свою статью не только хорошо
переведённой, но и снабжённой обширными и глубокими комментариями и
замечаниями. Статья переведена неизвестным для Менабреа математиком, а
каждое замечание было подписано инициалами A.A.L/ (Ada Augusta Lovelace),
которые он не мог связать ни с одним известным ему миром (см. стр. 10).
Каково же было восхищение Менабреа, когда после длительных выяснений он
узнал, что за этими инициалами кроется 28 -ми – летняя леди Лавлейс.
3. ФИНАЛЬНАЯ КРИВАЯ?
Начиная с 1844 года, Ада Лавлейс всё больше увлекается игрой на
скачках, тем более, что сама прекрасно ездила и любила лошадей. На скачках
играли и Бэббидж и Вильям Лавлейс, причём Бэббидж интересовавшийся
прикладными вопросами теории вероятностей, рассматривал с этих позиций и
игру на скачках и искал оптимальную систему игры. Однако и Бэббидж, и муж
Ады сравнительно скоро отказались от участия в игре. Но Ада, сблизившись с
неким Джоном Кроссом, упорно продолжала играть. Она израсходовала почти все
принадлежащие ей средства и к 1848 году сделала большие долги. Потом её
матери пришлось погасить эти долги, а заодно и выкупить компрометирующие
письма у Джона Кросса. В начале 50-ых годов появлялись первые признаки
болезни, унесшей жизнь Ады Лавлейс. В ноябре 1850 года пишет Бэббиджу:
"Здоровье моё … настолько плохо, что я хочу принять Ваше предложение и
показаться по приезде в Лондон Вашим медицинским друзьям" . Несмотря на
принимаемые меры, болезнь прогрессировала и сопровождалась тяжёлыми
мучениями. 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.ДЕЯНИЯ ГРЭЙС ХОППЕР
6.1. Грэйс Хопер
Грэйс Хоппер (Grace Hopper) родилась в 1906 году - на 91 год позже Ады.
Ее карьера, хотя и нетипична для женщины, на первых порах не представляла
ничего особенного - Вессарский колледж, степень доктора математики в
Йельском университете в 28 лет, профессорская должность в Вассаре. Таланты
умной девочки, казалось бы, раскрыылись, жизнь шла своим чередом, и ничто
не предвещало бурных изменений.
Как и в случае с компанией Helwett Packard, для полной реализации
потенциала Грэйспоторебоввалассь экстраоринарная ситуация. Ее создала
Вторая мировая война. Грэйс, ужже тридцатисемилетняя дама-профессор,
вступила в женскую добровольную организацию содействия ВМС США. Для того,
чтобы кобразом изменить свою жизнь, человек должен иметь авантюрстическую
жилку, и Грэйс обладала ей в полной мере. Однажды она так выразила свой
основной жизненный принцип: "Если у вас возникла интересная идея, валяйте,
делайте. Извиниться потом легче, чем заранее получить разрешение".
6.2. Mark-1 - воплощение Аналитической Машины
Итак, младший лейтенант Грэйс Хоппер была направлена в Гарвардский
университет, где к тому времени был установлен компьютер Mark-1.
В создании Mark-1 приняли участие силы - ВМС США, заказавшие универсальную
счетную машину для расчетов баллистических таблиц: фирма IBM, президент
которой Томас Уотсон в патриотическом порыве финансировал военную
разработку и предоставил производственные мощности для создания необходимых
деталей; и математик Говард Эйкен. А в основу Mark-1 было положено
оставленное Бэббиджем описание его Аналитической Машины.
Полученное "чудовище" достигало 17 м в длину и 2,5 м в высоту. Провода,
которыми соединялись его 750 тыс. деталей имели суммарную длину более 800
км. Программа вводилась с перфоленты, а данные с перфокарт (не зря же, в
конце концов, перфораторы составляли львиную долю продукции IBM). Компьютер
имел электромеханическое реле и работал по тем временам очень быстро - 0,3
с у него уходило на сложение и вычитание двух чисел и 3 с на умножение.
Учитывая интерес Грэйс к двум смежным областям - геометрии и механике,- она
была идеальным кандидатом на работу с компьютерами типа Mark-1, когда любой
программист (такого термина тогда еще не существовало, а должность Грэйс
называлась словом "кодировщик") одновременно блестяще разбирался в
механическом содержимиом громоздкой машины. "Интеллектуальным"
обслуживанием машины, помимо профессора и младшего лейтенанта Грэйс Хоппер,
занимались математики-мичманы Роберт Кэмпбел и Ричард Блок.
Существует легенда, что Грэйс принадлежит термин debugging (для программы -
отладка; а буквально - изничтожение насекомых). История такова: однажды
Mark-1 сломался из-за того, что в одном из реле покончил жизнь
самоубийством крохотный мотылек (bug). Останки бедняги были аккуратно
извлечены. Тогда-то якобы Грэйс впервые и употребила термин debugging, имея
в виду ту самую работу, которой в данный момент была занята группа
программистов, - очистку компьютера от насекомых. На самом деле слово bug в
английском языке имело двойное значение (и насекомое, и техническая
неисправность) задолго до Грэйс, так что мы имеем дело с очередным
апокрифом компьютерного общества.
Но если Аде Лавлейс принадлежит право интеллектуальной собственности на
циклы, то Грэйс и ее коллеги в 1944 году использовали эти принципы на
практике. С точки зрения Грэйс, подпрограмами были сравнительно
универсальные последовательности команд, которые моно было об'единять в
более крупные блоки. Свои подпрограммы программисты хранили в блокнотах и
при необходимости переписывали их друг у друга. При этом им приходилось
каждый раз заново рассчитывать адреса переменных. Учитиывая, что текст
записывался в кодах, а складывать программисты, как правило, не умеют,
можно себе представить, как часто при переписыании возникали ошибки. Да и
читать программы, даже снабжженные комментариями, оказывалось достаточно
сложно.
6.3. От кодов к языку
Первая попытка облегчить участь программистов была сделана в 1948 году.
Алан Тьюринг и Макс Нейман в Манчестере (Англия) вели работы по созданию
компьютера, аналогичного американскому и, кстати, получившему то же
название - Mark-1. Для него была создана так называемая система
"сокращенного кодирования" - первый язык высокого уровня. Изначально
задуманные 32 машинные команды - длинной пять байтов каждая - для удобства
получали буквенные обозначения. Однако затем длина команд была увеличена до
шести байтов, и в результате многие преимущества новой системы были сведены
на нет: каждая команда обозначалась уже двумя символами, но для сокращения
избыточности второй из них одновременно оказывался началом следующей
команды. С помощью телетайпа производилось двоичное кодирование и
создавалась перфолента.
Следующим шагом было "короткое кодирование". У Джона Мочли,
работающего над созданием компьютера UNIVAC, возникла идея научить
компьютер воспринимать алгебраические уравнения в их традиционном виде.
Затем специальная программа-интерпретатор переводила уравнение на язык
нулей и единиц. В полной мере реализовать этот замысел не удалось, потому
что знаки математических действий по-прежнему приходилось заменять на их
численные коды. Интерпретаторы стали первой попыткой сделать компьютер
более дружественным, но интерпретирующая программа пожирала и без того
скудные ресурсы памяти и замедляла выполнение программ. Да и
целесообразность интерпретации введенной с перфокарт программы выглядит,
вообще, говоря, сомнительно.
Вот этот "интерпретатор" и навел Грэйс Хоппер (которая работала в
фирме Джона Мочли на мысль, что для общения человека с компьютером есть
более приятный способ, чем кодирование. Однако нужно ли было такое
"очеловечивание" компьютера? В какой-то момент Грэйс заметила, что
программисты постепенно изолируют себя от остального человечества и
начинают мыслить в тех же терминах, что и счетные машины. Толчком, как
утверждают, послужили собственные проблемы Грэйс при подведении баланса ее
банковского счета: по привычке она попыталась произвести сложение и
вычитание в восьмеричной системе исчисления, и очень удивилась, когда ее
итог не совпал с тем, что получилось у банка.
К 1952 году из "сокращенного кодирования" вырос первый компилятор -
язык Autocod, созданный Алексом Гленном.
Хотя программисты, олберегая свое исключительное положение при
вычислительной машине, всячески сопротивлялись распространению языков типа
Autocod, фирмы-производители, пытавшиеся вывести компьютеры за пределы
военных и униерситетских лабораторий, вкладывали в создание новых языков
значительные средства.
Компания Raimington Rand, купившая права на UNIVAC, натолкнулась на
нехватку "жрецов в блых халатах", свободно "чирикающих" на двоичном коде,
поэотму процесс общения с машиной надо было облегчить и включить в поставку
компьютера программное обеспечение. Возникла идея создания библиотеки
подпрограмм, из которой программа-компоновщик (компилятор) выбирала бы
необходимые блоки и автоматически устанавливала нужную адресацию. В 1951 г.
Гhэйс Хоппер было поручено создать такую библиотеку. Несколько лет спустя,
когда ею была реализована уже четвертая версия компилятора A (версия A-3),
из маркетинговых соображений он был преименован в Math-Matic.
Пятидесятые годы были периодом активной разработки машинно-зависимых языков
высокого уровня. В 1953 году вышли в свет два из них - Speedcoding фирмы
IBM, который она разумно представила со своим новым компьютером IBM 701, и
Vortex, созданный в Массачусетском институте. Vortex был первым языком, в
котором символы вводилиь в их естественном виде. Он, однако, не был
коммерческой разработкой и практически не распространился за пределы МТИ.
Основным признаком таких языков была краткость инструкций - пара символов
либо цифровой код, так что по-прежнему для работы с машиной нужно было
изучать "дельфиний" язык.
Использовать полноценные английские слова догадалась Грэйс Хоппер. Для
того, чтобы облегчить компьютеру работу, в качестве базиса было принято,
что все инструкции обладают значимыми превым и третьим символом. Остальные
символы при анализе игнорировались. Грэйс, видя перспективность этого
подхода к языкам программ, действовала на свой страх и риск. Когда в 1956
году компилятор B-0 был готов, ей оставалось извиниться за самоуправство и
задним числом убедить начальника в перспективности нового подхода. Для
пущей наглядности она преобразовала компилятор в трехязычный, заставив его
понимать инструкции на английском, французском и немецком языках. Этим она
полоило начало одному порочному направлению в программировании - переводу
инструкций языка на программирования на национальные языки (забегая вперед,
скажем, что впоследствии появились самые разнообразные версии языка Cobol -
вплоть до китайской, где инструкции записывались с помощью иероглифов).
Как бы то ни было, после такой демонстрации цель - убедить начальство, что
компьютер может понимать нормальные слова - была достигнута, и B-0, в миру
Flow-Matic, был одобрен для коммерческой реализации.
6.4. Мама языка Cobol
К концу пятидесятых годов практически для каждой торговой марки, если
не для серии, компьютера был создан свой язык высокого уровня. Компания
Ramington Rand (к этому времени Sperry Rand) выпускала Flow-Matic; для IBM
704 уже существовал FORTRAN; ВВС США, в пику ВМС, на которые и работала
Sperry Rand, создали AIMACO.
В 1959 году представители производителей компьютеров и научного мира
провели совещание в Пенсильванском унивеститете (третьем оплоте
информатики, после Гарварда и Массачусетса). На певестке дня стояло
создание единого по синтаксису, гибкого, универсального языка для
разработки бизнес-приложений. Однако если между собой не могли договориться
даже отделения военного министерства, чего оставалось ждать от независимых
производителей?
Грэйс Хоппер решила подтолкнуть их к заключению соглашения и нашла для
такого языка заказчика - Министерство обороны США, с его "зоопарком
компьютерной техники" (более 1000 компьютеров, полностью несовместимых
между собой), крайне нуждалось в подобном средстве.
Министерство обороны организовало специальную конференцию - Conference on
Data System Language (CODASYL), в которой участвовали IBM, Honeywell,
General Electric, Sperry Rand и другие - в общем, все, кто расчитывал
получить от Пентагона заказ на постаку компьютеров.
Группа программистов во главе с Грэйс достаточно бысто сформулировала
основные положения языка COBOL (COmmon Business Oriental Language),
основанного на Flow-Matic. Другие компании не пришли в восторг от идеи
COBOL'a. IBM, имевшая в запасе FORTRAN и Commercial Translator, стремилась
убедить аудиторию, что на создание нового языка нет времени. Honeywell
пыталась сделать стандартом свое творение FACT. Но Грэйс не напрасно
столько лет имела дело с ВМС США и знала, как убедить военное начальство...
Идея COBOL была проработана к осени 1959 года, а первые трансляторы от RCA
и Sperry Rand поступили в продажжу к зиме.
Что можно еще сказать о Грэйс Хоппер? В 1966 году, шестидесяти лет, она
ушла на пенсию из Вспомогательной службы ВМС США, однако не прошло и года,
как была вновь призвана для работы по стандартизации языков
программирования. Окончательная отставка Грэйс последовала в 1986 году. В
то время она имела чин адмирала ВМС США и была самой старшей среди служащих
офицеров.
ЗАКЛЮЧЕНИЕ
В этом реферате частично описан жизненный путь и научные исследования
леди Августы Ады Лавлейс и ее дальнейших последователей. Некоторые моменты
в этой работе спорны, но это и неизбежно: прошло больше полутора веков с
момента, описываемых событий. За это время мир коренным образом
преобразился, изменились сами люди, их нравы, быт, традиции. Для примера:
леди Лавлейс не могла ставить под примечаниями свои полные имя, фамилию,
так как это считалось неприличным для девушек .
Несмотря на то, что машина Чарльза Бэббиджа так и не была построена, а
программа Ады Лавлейс никогда не использовалась на практике, имена этих
людей навсегда вписаны в историю развития вычислительной техники. Они
сделали нечто более главное, – они заложили основы программирования и
вычислительной техники, т.е. это были первые шаги человечества по этому
пути.
А теперь вернемся в будущее. Каким же станет грядущий компьютерный век? У
энергетиков и связистов есть пара совпадающих пословиц: электричество
(связь) - как воздух, который замечают только тогда, когда он портится. Так
же будет и с компьютерами - они сделаются неотъемлемым атрибутом жизни.
Каждый будет связан и с Сетью, и с глобальными базами данных всегда и
везде, и будет это восприниматься как нечто само собой разумеющееся, так же
как наличие телефона и света в квартире для нас. Не хотелось бы только,
чтобы история развертывалась по тому же пути, что и во времена Бэббиджа:
как известно, через несколько десятилетий после его основополагающих работ
был изобретен пулемет, для которого требуется много-много очень одинаковых
патронов, т. е. массовое производство…
ИНТЕРЕСНОЕ
Несмотря на то, что первыми программистами были женщины в настоящее
время встретить программиста-женщину большая редкость. Ученые объясняют
это тем, что у женщин сильнее развито левое полушарие, отвечающее за
эмоции, интуицию и художественное творчество, а у мужчин правое, отвечающее
за логическое и математическое мышление. Поэтому тот факт, что первыми
программистами были женщины, с научной точки зрения необъяснимо и является
феноменом.
Список использованной литературы
1. Информатика: Энциклопедический словарь для начинающих.- М.:
Педагогика-Пресс, 1994
2. Кнут Д. Искусство программирования для ЭВМ.- М.: Мир,197-1978.-
Т.11-3
3. Компьютер обретает разум// Time-Life Books inc.- М.: Мир, 1990
4. http://profi.dax.ru/index.html Сайт профессиональных программистов
5. http://www.pcmag.ru/?ID=35309 ; Журнал PC Magazine
6. http://progday.narod.ru/
7.