Текст книги "Архитекторы компьютерного мира"
Автор книги: Аркадий Частиков
сообщить о нарушении
Текущая страница: 17 (всего у книги 30 страниц)
Георгий Павлович Лопато
Создатель минской школы конструирования компьютеров
Большой вклад в развитие работ в области вычислительной техники в Минске внес член-корреспондент Российской академии наук Георгий Павлович Лопато. С его именем связано становление и развитие вычислительной техники в Белоруссии.
Б. Н. Малиновский
Георгий Павлович Лопато
Как уже упоминалось, вычислительная машина М-3 явилась предтечей минских компьютеров. Вот что писал Н. Я. Матюхин, главный конструктор М-3, по этому поводу: «Последующий ход событий привел М-3 в Минск, где заканчивалось строительство первого корпуса завода счетных машин им. С. Орджоникидзе. Там, в полукустарных условиях, и была выпущена небольшая партия этих машин, за которой завод начал разработку и выпуск широко известной серии машин „Минск“. Вот так и получилось, что генеалогические корни этой серии уходили в скромное помещение бывшей лаборатории электросистем Энергетического института Академии наук…»
В 1958 году документация на М-3 была передана минскому заводу, а в сентябре 1959 года уже была выпущена первая машина. А в следующем году коллектив СКВ завода им. С. Орджоникидзе разработал новую, более совершенную, недорогую и простую машину, которую назвали – "Минск-1". Главным конструктором первой минской машины был Георгий Павлович Лопато.
Он родился 23 августа 1924 года в деревне Озерщина Гомельской области. Его отец, Павел Алексеевич, окончивший Ленинградский политехнический институт, работал главным инженером одного из московских заводов, а в дальнейшем – преподавателем в Московском институте механизации и электрификации сельского хозяйства.
Поступив в 1931 году в школу, Георгий Лопато окончил ее летом 1941 года, а в октябре был призван в армию и зачислен в батальон ПВО.
После демобилизации, в 1946 году, он поступил на электрофизический факультет Московского энергетического института, который окончил в 1952 году. По окончании института он стал работать во Всесоюзном научно– исследовательском институте электромеханики (ВНИИЭМ) в Москве. Г. П. Лопато участвовал от ВНИИЭМа в совместном с Лабораторией управляющих машин и систем завершении работ и выпуске трех машин М-3, причем в 1954 году он несколько месяцев осваивал машину в лаборатории Брука под руководством Н. Я. Матюхина и В. В. Белынского.
В 1957 году документация на вычислительную машину М-3 была отправлена в Китай и Венгрию. Для помощи в выпуске и наладке машины в Пекин командировали Г. П. Лопато. Там на телефонном заводе был изготовлен первый образец машины для Института вычислительной техники АН Китая.
По возвращении из Пекина в апреле 1959 года его пригласили на должность главного инженера СКБ минского завода счетных машин им. С. Орджоникидзе, а через пять лет он становится начальником этого СКБ.
Первая машина серии "Минск" была создана за 14 месяцев, в чем большая заслуга главного конструктора – Г. П. Лопато. "Минск-1", построенная на электронных лампах, с двухадресной системой команд обладала быстродействием около трех тысяч операций в секунду. Оперативная память машины была реализована на ферритовых сердечниках (нужно отметить, что коллектив минского завода впервые в нашей стране освоил серийное производство ферритовой памяти). Конструкция и габариты машины позволяли использовать ее в конструкторских бюро, высших учебных заведениях и научно– исследовательских институтах со значительным объемом вычислительных работ (одна машина "Минск-1" была установлена на научно-исследовательском корабле "Сергей Вавилов" для обработки результатов научных исследований).
Вычислительная машина "Минск-1"
В 1960–1964 годах минским заводом выпускались несколько модификаций машины, таких как: «Минск-11» с устройством ввода буквенно-цифровой информацией, для работы с каналами связи; «Минск-12» с развитыми устройствами памяти; «Минск-14», представляющая собой симбиоз «Минск-11» и «Минск-12»; «Минск-16», предназначенная для обработки информации, получаемой с искусственных спутников.
В 1962 году была выпущена вычислительная машина "Минск-100", которая имела специфическое назначение – для обработки дактилоскопических отпечатков и успешно использовались в Минске и Ленинграде.
Успешное использование машин первого поколения – "Минск-1" и ее модификаций – во многом опередило переход к разработке коллективом СКВ машин второго поколения – на полупроводниковой элементной базе. И первой машиной второго поколения, созданной в СКВ минского завода, была вычислительная машина "Минск-2". Ее главным конструктором был В. В. Пржиялковский. Эта машина стала базовой для последующих разработок – "Минск-22" и "Минск-22М".
Затем были выпущены еще две машины на полупроводниковой элементной базе "Минск-23" и "Минк-32" (главный конструктор – В. Я. Пыхтин). "Минск-23" была предназначена для работы в системе организации производства, а также для решения планово-экономических задач. Вычислительная машина "Минск-32" пришла на "смену" самой распространенной машине своего класса – "Минск-22". В ней появилась возможность многопрограммной работы, была предусмотрена защита программ в оперативной памяти, а также возможность работы в многомашинной системе.
До конца 60-х годов Г. П. Лопато возглавлял СКВ минского завода счетных машин, а в 1969 году он становится руководителем минского филиала НИЦЭВТа. Когда в 1972 году филиал преобразовывается в Научно-исследовательский институт электронных вычислительных машин (НИИ ЭВМ), он назначается его директором, на посту которого ученый оставался до 1987 года.
За почти три десятилетия под руководством и при непосредственном участии Г. П. Лопато минским коллективом разработчиков было создано 15 моделей машин серии "Минск", 5 моделей машин серии ЕС ЭВМ, в том числе и персональных компьютеров, а также 6 специальных вычислительных комплексов и ряд систем программного обеспечения.
Г. П. Лопато принадлежат немалые заслуги в области создания многомашинных вычислительных систем и комплексов.
Первой однородной многомашинной вычислительной системой была система "Минск-222". Главным конструктором этой системы был опять же Георгий Павлович Лопато. Она разрабатывалась СКВ минского завода совместно с Институтом механики СО АН СССР. Работа по проектированию "Минск-222" была начата в 1965 году, а первый ее экземпляр установлен в 1966 году в Институте математики АН БССР.
Г. П. Лопато являлся главным конструктором вычислительной системы коллективного пользования "Нарочь", в состав которой входило 12 машин ЕС ЭВМ. Эта система использовалась в НИИ ЭВМ в качестве инструментального комплекса для проектирования аппаратного и программного обеспечения.
Кроме вычислительных машин и систем гражданского назначения, Г. П. Лопато руководил разработками систем и комплексов специального назначения, в частности ряда передвижных (возимых) комплексов, а также информационно-логической системы управления 70К1.
В 1969 году он защитил кандидатскую, а в 1975 году докторскую диссертацию. Ему было присвоено ученое звание профессора.
В Минском радиотехническом институте он организовал кафедру "Вычислительные машины и системы", которой заведовал в течение десяти лет.
В составе Инженерной технологической академии Белоруссии в 1987 году Г. П. Лопато создал и возглавил Научно-инженерный центр "Нейрокомпьютер". Он также продолжает работать в НИИ ЭВМ, который возглавляет его ученик В. Я. Пыхтин.
Заслуги Георгия Павловича Лопато в области создания вычислительных машин, комплексов и систем высоко оценены государством. Он был удостоен звания лауреата Государственной премии СССР, в 1979 году был избран членом-корреспондентом АН СССР, награжден многими орденами страны. Им опубликовано более 120 научных работ и получено 45 авторских свидетельств на изобретения.
Е. П. Лопато отличают высокая интеллигентность, спокойный характер и доброжелательное отношение к людям.
ГЛАВА 4
Знаменитые программисты
Ада Августа Лавлейс
Дочь Байрона, первая программистка
Мне хотелось бы, чтобы ты получила от леди Байрон сведения о наклонностях Ады, ее привычках, занятиях, нравственных качествах и характере, а также ее внешности. Общительна ли она или любит уединение, молчалива или разговорчива, любит ли читать или наоборот? Пылкая ли у нее натура? Надеюсь, что Бог наградит ее чем угодно, но только не поэтическим даром.
Джордж Байрон
Ада Августа Лавлейс
Высказанные в письме к своей двоюродной сестре опасения великого поэта Англии относительно «поэтического дара» дочери оказались напрасными. Ада Байрон преуспела в совершенно другой области – она составила первую компьютерную программу и потомки нарекли ее «первой программисткой».
Августа Ада Байрон родилась 10 декабря 1815 года, а в январе 1816 года ее родители – супруги Джордж Байрон и Аннабелла Милбэнк – разъехались навсегда.
Ада Байрон с детства успешно и с увлечением занималась математикой. Ее учителем был известный английский математик и логик Август де Морган. К числу друзей Аннабеллы Милбэнк принадлежал выдающийся английский ученый и изобретатель Чарльз Бэббидж. Юная Ада посещает его мастерскую, где знакомится с его работой над вычислительными машинами. Чарльз Бэббидж искренне полюбил эту девушку, он находил в ней главное, что ценил в людях, – остроту ума. Быть может, сыграло роль и то, что Ада была почти ровесницей его рано умершей дочери. Бэббидж следит за научными занятиями Ады, посылает ей статьи и книги, представляющие интерес, и знакомит со своими работами.
Семейная жизнь Августы Ады сложилась счастливо. В июле 1835 года она вышла замуж за Уильяма, восемнадцатого лорда Кинга, ставшего впоследствии первым графом Лавлейсом. Сэр Уильям, которому в то время исполнилось 29 лет, был спокойным, уравновешенным и приветливым человеком. Он с одобрением относился к научным занятиям своей жены и помогал ей как мог.
Супруги вели светский образ жизни, регулярно устраивали вечера и приемы, на которых бывал "весь Лондон". Один из постоянных посетителей этих вечеров, редактор популярного лондонского журнала "Экзаминер" Олбани Фонбланк, оставит такой портрет хозяйки дома: "Она была ни на кого не похожа и обладала талантом не поэтическим, но математическим и метафизическим…"
Портрет графини Лавлейс
Очень выразительна и автохарактеристика, данная Адой в одном из писем Бэббиджу: "Мой мозг – нечто большее, чем просто смертная субстанция; я надеюсь, время покажет это (если только мое дыхание и прочее не будут слишком быстро прогрессировать к смерти).
Клянусь дьяволом, что не пройдет и десяти лет, как я высосу некоторое количество жизненной крови из загадок вселенной, причем так, как этого не смогли бы сделать обычные смертные губы и умы. Никто не знает, какие ужасающие энергия и сила лежат еще неиспользованными в моем маленьком гибком существе.
Я сказала "ужасающие", т. к. Вы можете вообразить, что это означает в некоторых обстоятельствах. Граф Л. иногда говорит: "Каким генералом могла бы ты быть". Представьте меня со временем в общественных и политических заботах (я всегда мечтала обладать мировой властью, силой и славой – эта мечта никогда не сбудется…). Для вселенной хорошо, что мои устремления и честолюбие навсегда связаны с духовным миром и что я не собираюсь иметь дела с саблями, ядами и интригами вместо х, у и f.
Статья военного инженера Л. Ф. Менабреа (впоследствии генерал в армии Гарибальди, а затем премьер-министр Италии) "Очерк Аналитической машины, изобретенной Чарльзом Бэббиджем" заинтересовала Аду, и она перевела ее на английский язык. Тогда Бэббидж предложил ей добавить некоторые примечания к переводу. Эта идея была немедленно принята. Перевод статьи Менабреа занимает 20 страниц, примечания же Ады Лавлейс – в два с половиной раза больше, 50 страниц. Одно это сопоставление показывает, что А. А. Лавлейс отнюдь не ограничилась ролью простого комментатора. При этом статья Менабреа касается в большей степени технической стороны дела, тогда как примечания Лавлейс – математической.
После получения первых корректур она пишет Бэббиджу: "Я хочу вставить в одно из моих примечаний кое-что о числах Бернулли в качестве примера того, как неявная функция может быть вычислена машиной без того, чтобы предварительно быть разрешенной с помощью головы и рук человека. Пришлите мне необходимые данные и формулы". По ее просьбе Бэббидж прислал все необходимые сведения и, желая избавить Аду от трудностей, сам составил алгоритм для нахождения этих чисел. Но допустил очень грубую ошибку в составлении алгоритма, и Ада сразу же это обнаружила. Она самостоятельно написала программу для вычисления чисел Бернулли.
Эта программа представляет исключительный интерес, поскольку величина, сложность и математическая постановка данной задачи не идут ни в какое сравнение с элементарными примерами. Этот пример позволил Лавлейс в полной мере показать методику программирования на Аналитической машине и те преимущества, которые дает последняя при подходящем методе вычислений.
Предвосхищая "этапы" компьютерного программирования, Ада Лавлейс, так же как и современные математики, начинает с постановки задачи, затем выбирает метод вычисления, удобный для программирования, и лишь тогда переходит к составлению программы.
За определение числа Бернулли Лавлейс берет следующее выражение:
Оно неудобно, т. к. требует суммирования ряда. Другая форма задания предпочтительнее:
Но последняя формула представления 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" (отладка) с тех пор прижился и стал использоваться для обозначения поиска неисправностей в компьютере, особенно в программном обеспечении".
В 1949 году Г. Хоппер перешла на работу старшим математиком во вновь образовавшуюся фирму Маучли – Эккерта (создателей электронного компьютера ENIAC), где приняла участие в разработке программных средств коммерческого компьютера UNIVAC–I. Фирма располагалась в помещении старой фабрики на севере Филадельфии. "Когда машина UNIVAC–I не работала, мы, бывало, говорили, что не мешало бы ее выбросить за забор, на ту сторону, где была свалка, а самим махнуть на другую сторону – на кладбище", – вспоминала те годы Г. Хоппер.
Для облегчения процесса составления программ на машинном языке вместо записи команд в двоичной системе счисления (длинные серии единиц и нулей) в то время использовалась восьмеричная система счисления, запись в которой, как известно, в три раза короче двоичной, а взаимный переход от одной к другой формален. "Все в фирме были убеждены, что единственный способ писать эффективные программы – это пользоваться восьмеричной системой". Г Хоппер тоже освоила эту систему: научилась складывать, вычитать, умножать и делить в ней. Однако погружение в мир восьмеричной арифметики чуть было не стоило ей неприятностей в жизни, когда она подводила баланс своего банковского счета. (Выручил брат-банкир, напомнив ей, что банки все-таки работают с десятичной системой.) "Я столкнулась с проблемой жизни в двух мирах, – вспоминала Г. Хоппер, – вероятно, это было одной из причин, побудивших меня по возможности избавиться от восьмеричных чисел".
Надо заметить, что не одну Г. Хоппер занимала проблема облегчения труда программистов, работающих в машинных кодах. В 1949 году до ее прихода в фирму Джон Маучли создал систему под названием "Short Code", которая являлась примитивным языком программирования высокого уровня. В ней программист записывал решаемую задачу в виде математических формул, а затем, используя таблицу перевода символ за символом, преобразовывал эти формулы в двухлитерные коды. В дальнейшем специальная программа компьютера превращала эти коды в двоичный машинный код. Система, разработанная Дж. Маучли, была по существу одним из первых примитивных интерпретаторов, т. е. в последующие годы одним из двух типов транслятора. Эта система оказала большое влияние на Г. Хоппер. "Short Code" был первым шагом к чему-то такому, что давало программисту возможность писать программы на языке, отличном от машинного", – писала Г. Хоппер. Второй шаг предстояло сделать ей.
Немного отвлечемся и напомним читателю о двух типах трансляторов с позиций сегодняшнего дня. Первый тип, упоминаемый выше, – интерпретатор в каждый момент времени транслирует строку за строкой программу, написанную на языке высокого уровня, в программу на машинном языке и одновременно ее выполняет. Второй тип – компилятор транслирует весь текст программы, написанной на языке высокого уровня, в машинный код в ходе одного непрерывного процесса. При этом создается полная программа в машинных кодах, которую затем можно выполнить без участия компилятора. Работа компилятора состоит из трех этапов: сначала текст программы создается при помощи редактора текстов или другой программы текстовой обработки, затем текст компилируется, наконец скомпилированная программа выполняется. Разница между компилятором и интерпретатором аналогична разнице между переводчиком литературного произведения и переводчиком устной речи.
Итак, в 1951 году Г. Хоппер создала первый компилятор и ею же был введен сам этот термин. Компилятор Г. Хоппер осуществлял функцию объединения и в ходе трансляции производил организацию подпрограмм, выделение памяти компьютера, преобразование команд высокого уровня (в то время псевдокодов) в машинные команды. "Подпрограммы находятся в библиотеке (компьютера), а когда вы подбираете материал из библиотеки – это называется компиляцией" – так она объясняла происхождение введенного ею термина. Конечно, между компилятором, созданным Г. Хоппер, и сегодняшними сходство небольшое, но начало было положено. В 1952 году на одной из первых конференций Ассоциации компьютерной техники в Питтсбурге Г. Хоппер сделала доклад "The Education of a Computer", посвященный компилирующим программам.
В этот период фирму Маучли – Эккерта поглотила компания Remington Rand (как это часто бывает, талантливые изобретатели оказались неумелыми коммерсантами). Но Маучли, Эккерт и Хоппер остались работать в новой компании.
Свой первый компилятор Г. Хоппер назвала А-0, затем по мере его расширения и улучшения в последующие годы появились его версии А-1, А-2, А-3 (две последние системы базировались на трехбуквенных псевдокодах для указания математических операций). В 1954 году группа под руководством Г. Хоппер разработала систему АТ-3, включающую язык программирования и компилятор, которая в дальнейшем получила название MATH-MATIC и продавалась компанией Remington Rand вместе с компьютером UNIVAC–I.
После удачного завершения работ по созданию MATH-MATIC Г. Хоппер и ее группа принялись за разработку нового языка и компилятора, который позволил бы пользователям программировать на языке, близком к обычному английскому. Они выбрали около 30 английских слов типа: add (сложить), compare (сравнить), transfer (переслать) и т. п., а затем разработали компилятор, который транслировал программы, написанные на этом языке, в машинный код.
Для адекватного распознания компилятором выбранных слов Г. Хоппер придумала способ, который сохранился в операторах будущих языков: каждое слово (название оператора) содержит неповторимую комбинацию из первой и третьей букв, поэтому компилятор при генерации машинного кода может игнорировать все остальные буквы в слове.
Создание "необычного" (по тем временам) языка и компилятора, который получил название В-0, было завершено в 1956 году. Необходимость появления подобной системы Г. Хоппер объясняла следующим образом: "Существует много различных людей, которым нужно решать разные задачи. Некоторые из них связаны с обработкой символов, другие – с обработкой слов, и им нужны языки другого типа, а не наши попытки превратить их всех в математиков". Действительно, в дальнейшем язык с успехом использовался людьми, работающими в бизнесе, в конторах фирм и в правительственных учреждениях. В 1958 году система В-0 поступила на рынок с новым названием FLOW-MATIC и компания, в которой трудилась Г. Хоппер, поменяла свое название на Sperry Rand Соrр. В отличие от FORTRAN – языка для научных приложений, FLOW-MATIC был первым языком для задач обработки коммерческих данных. Он был проще FORTRAN, и опыт, приобретенный за годы работы с ним, привел к созданию универсального языка COBOL. Справедливости ради необходимо отметить, что и другие языки, но в меньшей степени, послужили основой COBOL: язык AIMACO, созданный в ведомстве ВВС США в 1958 году (в разработке этого языка принимала участие и группа Г. Хоппер), язык COMTRAN, созданный фирмой IBM в 1958 году, язык FACT, разработанный фирмой Honeywell (этот язык имел влияние на поздние версии COBOL).
Создание универсального, машинно-независимого языка высокого уровня для деловых применений и бизнеса стало очередной задачей, за разрешение которой в начале 1959 года взялась энергичная Грейс Хоппер. Она обратилась за поддержкой в Министерство обороны США, которое вскоре организовало конференцию по языкам программирования. Эта конференция, получившая в дальнейшем название КОДАСИЛ (CODASYL–Conference on Data Systems Language), организовала три группы по разработке нового универсального языка и Исполнительный комитет, осуществлявший контроль за разработкой. К осени 1959 года создание языка было завершено, и он получил имя COBOL (COBOL–Common Business Oriented Language). Одним из основных консультантов при создании языка была Грейс Мюррей Хоппер.
25-летний юбилей COBOL (на переднем плане – Грейс Хоппер)
Курьезный случай (и в то же время неожиданная реклама COBOL) произошел с Г. Хоппер во время ее посещения компьютерного центра в Японии. Гостеприимные японцы никак не могли понять ее просьбу, пока она не обратилась к операторам COBOL. "Move (переместить), – сказала она, показывая на себя, – goto (перейти к) отель «Осака». После чего японцы сразу отвезли ее в гостиницу.
В 1967 году Хоппер вернулась на действительную службу в ВМФ и к 1980 году стала капитаном Управления вычислительной техники в Вашингтоне. В 1983 году она получила звание капитана первого ранга, а в ноябре 1985 года – звание контр-адмирала. В 1982–1986 годах она была старейшим действующим офицером американской армии. После отставки из армии в 1986 году она еще некоторое время работала консультантом фирмы DEC.
В начале января 1992 года из Америки пришло сообщение (Newsbytes News Network, January, 3, 1992): "Недалеко от Вашингтона в возрасте 85 лет после продолжительной болезни скончалась Грейс Мюррей Хоппер, одна из изобретателей языка COBOL". Хоппер начала работать с компьютерами с конца 40-х годах. Она участвовала в работе над "Марк-I", "Марк-II", "Марк-III" и UNIVAC–I. Ее часто называли Мамой COBOL и Бабушкой COBOL…"
Заслуги Г. Хоппер в программировании оценены по достоинству. Более 40 университетов и колледжей присвоили ей различные звания. Г. Хоппер была обладательницей первой награды по информатике "Человек года", присуждаемой Ассоциацией управления и обработки данных. На церемонии отставки в 1986 году в Бостоне на борту авианосца морской министр Джон Леман-младший представил адмирала Грейс Хоппер к правительственной награде. Через несколько лет после ее кончины, 6 сентября 1997 года был спущен на воду новый эсминец ВМФ США – он был назван "Хоппер" в честь контр-адмирала Грейс Мюррей Хоппер.