Выбрать главу

Первый «баг» в истории, хранящийся в Национальном музее американской истории. В отличие от современных, этот «баг» был настоящим.

* * *

Взгляд в будущее

По окончании войны Грейс была зачислена в резерв ВМС. В течение всей жизни она постоянно занимала сразу несколько должностей. В 1949 году она также занялась делами частной компании, которая меняла названия: Remington, Sperry, Sperry-Rand и в конечном итоге получила название UNIVAC. Когда Грейс была принята на должность ведущего математика, компания называлась Eckert-Mauchly Corporation. Отметим, что Джон Преспер Экерт (1919–1995) и Джон Уильям Мокли (1907–1980), чьи имена носила компания, были создателями первого электронного многоцелевого компьютера, также имевшего огромные размеры, — легендарного ENIAC. Теперь они занимались не только военными задачами, связанными с баллистикой и взломом шифров, но и вопросами бизнеса. Информатика стала обычной наукой, и ее бурное развитие было уже не остановить.

В развитие информатики немалый вклад внесла Грейс Хоппер: она работала над компилятором, который со временем получил название FLOW-MATIC. 1952 год повсеместно считается годом рождения первого компилятора. Но сделаем небольшое отступление, чтобы объяснить, что это такое.

В информатике различают машинный язык, который, если можно так выразиться, понятен компьютеру, и язык программирования, который используют программисты. Машинный язык проще, чем языки программирования, так как машина «глупа», но выполняет действия быстро, а программист намного «умнее», но выполняет действия медленнее. Компиляция — крайне трудоемкий этап: его смысл заключается в том, чтобы изложить процесс, придуманный человеком, так, чтобы компьютер его понял. В 1950 году Грейс Хоппер предвидела, что программы в будущем станут дороже аппаратного обеспечения. Она отстаивала свою точку зрения вопреки всеобщему скепсису, и время подтвердило ее правоту.

Работа Грейс Хоппер над компиляторами имела неожиданный результат: так как в информатике правят бал байты, состоящие из восьми бит, ей пришлось научиться проводить расчеты в восьмеричной системе счисления. Грейс овладела этой наукой в совершенстве и часто выполняла в ней обычные расчеты, например стоимости покупок в магазине. Она забыла десятичную систему счисления, рискуя при этом личными финансами.

Любой другой удовольствовался бы тем, что создал столь ценную программу, как компилятор, позволяющий компьютерам выплачивать зарплату и формировать счета, но не такова была Грейс Хоппер. Компьютеры стали не просто машинами, способными быстро выполнять арифметические действия, — они умели «мыслить» на языке математики и понимать пользователей. Грейс совершила еще один шаг вперед: рассказывают, что ей было неудобно работать с чековой книжкой и банковским счетом, и она попыталась сделать так, чтобы машина «понимала» английский язык — язык самой Грейс, язык бизнеса и большинства пользователей. В 1956 году ей удалось добиться того, что UNIVAC при помощи ее компилятора «понял» два десятка команд на английском языке. Так началось развитие языка COBOL. Чтобы четко определить его стандарты, в 1959 году был создан специальный комитет.

В 1966 году в силу возраста Грейс Хоппер была вынуждена уйти в отставку из военно-морских сил. Но не стоит думать, что ее история на этом заканчивается. ВМС предприняли бесчисленное множество попыток внедрить электронную систему выплат по огромной и запутанной системе расчетных листов. После неудачной попытки под номером 823 руководство выбросило белый флаг и попросило Грейс вернуться на службу — всего на шесть месяцев, чтобы покончить с этим кошмаром. Грейс вернулась на флот, решила проблему и больше не оставляла ВМС. Она еще много лет служила на флоте и выступала с лекциями. В 1973 году Грейс вышла в отставку в чине капитана.

В то время Хоппер направила все усилия на выработку дополнительных неофициальных стандартов для языков программирования FORTRAN и COBOL, которые позднее были утверждены в качестве образцов Национальным бюро стандартов. Смысл этих норм сводился к следующему: системы должны строиться с учетом их фактического использования и административных возможностей. Такие системы обходятся очень дешево и не нарушают работу уже имеющегося оборудования.