Категории
Самые читаемые
onlinekniga.com » Научные и научно-популярные книги » История » Архитекторы компьютерного мира - Аркадий Частиков

Архитекторы компьютерного мира - Аркадий Частиков

Читать онлайн Архитекторы компьютерного мира - Аркадий Частиков

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 50 51 52 53 54 55 56 57 58 ... 93
Перейти на страницу:

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

За определение числа Бернулли Лавлейс берет следующее выражение:

Оно неудобно, т. к. требует суммирования ряда. Другая форма задания предпочтительнее:

Но последняя формула представления B2n-1 имеет существенные недостатки. Поэтому Лавлейс выводит рекуррентную формулу:

и принимает ее за основу метода вычисления. Затем она приступает к описанию программы.

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

Чарльз Бэббидж

ax0 + bx1 + cx2 + dx3 +… + kx9 = p,

a1x0 + b1x1 + c1x2 + d1x3 +… + k1x9 = p1,

…….

a9x0 + b9x1 + c9x2 + d9x3 +… + k9x9 = p9,

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

Прежде всего, уже в то время Ада Лавлейс отдавала себе полный отчет в колоссальной "широте спектра" возможностей универсальной вычислительной машины. Вместе с тем она очень четко представляла себе границы этих возможностей: "Желательно предостеречь против преувеличения возможностей Аналитической машины. Аналитическая машина не претендует на то, чтобы создавать что-то действительно новое. Машина может выполнить все то, что мы умеем ей предписать. Она может следовать анализу; но она не может предугадать какие-либо аналитические зависимости или истины. Функции машины заключаются в том, чтобы помочь нам получить то, с чем мы уже знакомы". В 1843 году, когда эти положения высказывались, Ада, конечно, не могла предвидеть, как разовьется и какие формы примет программирование спустя 120 лет.

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

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

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

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

Грейс Мюррей Хоппер

Мама и бабушка COBOL

Если есть кто-то в компьютерном мире вообще и в истории языков программирования в частности, кто не нуждается в представлении, — это, конечно, капитан Грейс Хоппер…

Джин Саммит

Грейс Мюррей Хоппер

Слова, вынесенные в эпиграф, принадлежат Джин Саммит, одной из известных ученых в области программирования, автору многих книг по истории программирования. Для зарубежных специалистов по информатике эти слова неудивительны, однако нашим читателям имя Грейс Хоппер малоизвестно.

Более того, в некоторых переводах зарубежных книг по программированию ее фамилия (если она упоминалась) преподносилась читателю в мужском роде. (Исключение составляет прекрасный перевод книг "Software" и "Computer Languages".)

Попытаемся восполнить указанный пробел и осветить некоторые стороны жизни и деятельности удивительной женщины-программиста.

Грейс Мюррей Хоппер родилась в Нью-Йорке 9 декабря 1906 года в семье страхового агента Уолтера Флетчера. С детства она увлекалась не куклами (что обычно для девочек), а различными механическими устройствами — "машинками", как она их называла. В 1928 году она закончила с отличием колледж Вассара в Пугкигси и продолжила свое образование в Йельском университете. Здесь она в 1930 году получила степень магистра и в 1934 году — доктора философии по математике (опять же редкость для женщины). Затем, вернувшись в Вассар, она преподавала математику. В 1941 году Г. Хоппер прослушала несколько курсов в университете Нью-Йорка.

В декабре 1943 года, в самый разгар Второй мировой войны, она приняла присягу и в мае 1944 года поступила на службу в ВМФ США. Получив в июне 1944 года звание младшего лейтенанта, Г. Хоппер была включена в отдел ВМФ, который занимался разработкой программ для компьютера ASCC (Mark-1), детища Говарда Айкена.

Она вспоминает, что стала "третьим в мире программистом (наверно, первыми двумя она считала своих коллег — мичманов Роберта Кэмпбелла и Ричарда Блока. — А. Ч.) первого в мире большого цифрового компьютера".

И далее продолжает: "В те дни мы не назывались программистами. Это слово еще не дошло до нас из Англии, мы были кодировщиками". Однако самый маленький морской офицер (ее рост был 150 см и вес 47 кг) и ее коллеги-мичманы заложили в те годы фундамент здания с названием "программирование". Г Хоппер доказала, чего она стоит как программист. Впоследствии она писала:

Капитан второго ранга Грейс Хоппер

"Я имела то преимущество, что изучала как технику, так и математику и знала, как работает машина от начала и до конца. Конечно же, я была счастлива. Заканчивая в 1928 году колледж, я и не подозревала, что в 1944 году появится компьютер".

Вместе с Говардом Айкеном она опубликовала первое описание компьютера "Марк-1".

При работе на компьютере "Марк-I" Г. Хоппер и ее группой впервые были введены некоторые приемы, которые стали в дальнейшем широко использоваться в программистской практике. В частности, первыми инструментами, которые экономили труд программистов, были подпрограммы. Так вот, в августе 1944 года для "Марк-I" была написана первая подпрограмма для вычисления sin х. После нее последовали другие. "Мы стали писать подпрограммы", — вспоминала Г. Хоппер, хотя термин "подпрограмма" был введен позже (Морис Уилкс в Англии. — А. Ч.).

И еще одно фундаментальное понятие техники программирования впервые ввели Г. Хоппер и ее группа — "отладка". Причем случилось это при курьезных обстоятельствах. Жарким летним днем 1945 года неожиданно произошла остановка компьютера "Марк-I". Обнаружилась неисправность одного реле, контакты которого были заблокированы мотыльком, неизвестно каким образом туда попавшим. Вспоминает Г. Хоппер: "Когда к нам зашел офицер, чтобы узнать, чем мы занимаемся, мы ответили, что очищаем компьютер от насекомых (debuging). Термин "debuging" (отладка) с тех пор прижился и стал использоваться для обозначения поиска неисправностей в компьютере, особенно в программном обеспечении".

1 ... 50 51 52 53 54 55 56 57 58 ... 93
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Архитекторы компьютерного мира - Аркадий Частиков.
Комментарии