Поступить с первой попытки в престижный Колледж Вассара Грейс не удалось, так как она не сдала экзамен по латыни (сегодня подобное невозможно). Она поступила со второй попытки и во время учебы получала высшие отметки по математике и физике. Позднее Грейс была присвоена степень доктора в Йельском университете, и она стала первой женщиной в истории, удостоенной такой чести. Ее научным руководителем был знаменитый алгебраист Ойстин Оре. Затем Колледж Вассара предложил девушке место преподавателя, а впоследствии и доцента. В 1941 году Грейс получила стипендию на обучение в Курантовском институте математических наук в Нью-Йорке — об этом заведении все отзывались с почтением и трепетом.
К тому времени Грейс уже вышла замуж за Винсента Хоппера, преподавателя иностранных языков Нью-Йоркского университета, и прожила в браке до конца войны. Когда в 1945 году супруги развелись, она сохранила фамилию мужа. В том же году ее уже бывший муж погиб на поле боя.
Подобно героям романов, которые слышат зов предков, в 1943 году Грейс услышала зов отечества. После бомбардировки Пёрл-Харбора Соединенные Штаты вступили в войну, и Грейс записалась добровольцем на флот, в знаменитые Военно-морские силы США. Это было непросто: ее вес был меньше минимально допустимого на целых семь килограммов, и ей пришлось добиваться исключения из правил. В итоге Грейс была принята в ряды ВМС и стала лучшей в своем выпуске. По окончании занятий в учебной части она получила звание младшего лейтенанта. Вышестоящие офицеры поступили весьма благоразумно, отправив Грейс исполнять приказы математика Говарда Эйкена (1900–1973) и его компьютера Mark I. О первом появлении Хоппер в лаборатории позднее ходили легенды. «Где, черт возьми, вы были? Коэффициенты для функции arctg х должны быть готовы к четвергу!» — закричал Эйкен, едва увидев ее. Впоследствии Хоппер и Эйкен написали множество совместных статей, посвященных не только Mark I, но и его следующим версиям — Mark II и Mark III. Чтобы подготовить любителей вычислений к работе с новым инструментом — компьютером, Грейс составила руководство объемом в 500 страниц.
Mark I, который, по мнению многих, был первым суперкомпьютером в истории, насчитывал свыше 15 метров в длину и 2,5 метра в ширину и высоту. Этот мастодонт, несмотря на свои размеры, обладал смехотворно малым объемом памяти и мог выполнять всего три операции сложения в секунду. Любой современный персональный компьютер посмотрел бы на него свысока! Такими были первые робкие шаги информатики.
Однако в те годы подобная скорость вычислений была невероятной, и передовые инструменты, способные ее обеспечить, предназначались исключительно для военных нужд, прежде всего для артиллерии. В бизнесе компьютеры начали использоваться позже. Компьютеры были тайной для всех, за исключением избранной касты специалистов. Как-то раз во время визита комиссии, состоявшей из нескольких адмиралов, проклятый компьютер то включался, то выключался, и Грейс спасла положение, небрежно положив палец на кнопку питания. Никто ничего не заметил.
Вверху — миноносец ВМС США «Хоппер». Внизу — контр-адмирал Грейс Хоппер в январе 1984 года. Грейс Хоппер — единственная женщина-математик, именем которой назван корабль.
* * *
В ВАШЕМ КОМПЬЮТЕРЕ ЗАВЕЛСЯ «БАГ»
Однажды, давным-давно, один компьютер постоянно совершал ошибки, и некоторые сомневались, что его программа правильно написана. Этим компьютером был Mark II, на дворе стоял 1947 год. После тщательного анализа оказалось, что причиной ошибок было обычное насекомое, застрявшее между контактами. Оно было обнаружено и «заархивировано», то есть вклеено в журнал происшествий. Так окончилась жизнь бедного насекомого — «бага» (по-английски bug означает «жук»). Хотя жука обнаружила не Г рейс, считается, что именно с ее легкой руки это слово вошло в обиход. С тех пор «баг» в программе обозначает уже не настоящего жука (сегодня это совершенно немыслимо), а ошибку в аппаратном или программном обеспечении. Ранее слово «баг» уже использовалось для обозначения неполадок в аппаратном обеспечении, и вот этот «жук» навсегда занял свое место в языке.
К компьютерным багам следует относиться со всей серьезностью. Они встречаются достаточно часто, обнаружить их порой очень сложно, и они могут нанести моральный и материальный ущерб на миллионы евро. Чтобы вы могли понять, как сложно бывает обнаружить баги, приведем всего один пример. Может случиться так, что несколько программ конфликтуют при выполнении единственной операции (это случается постоянно). Хотя по отдельности обе функционируют корректно, при одновременной работе обеих в неподходящий момент всегда возникает ошибка.
Некоторые происшествия, вызванные багами, весьма известны: в 1980-е годы баг в компьютерной программе медицинского оборудования привел к изменению дозы облучения при радиотерапии, что стало причиной смерти множества пациентов. Меньший резонанс среди широкой публики вызвал баг в управляющей программе прототипа ракеты «Ариан-5», ставший причиной падения ракеты. Цена этой ошибки составила 1 млрд долларов. По официальным оценкам американской комиссии, ежегодно в результате багов теряется 0,6 % валового национального продукта. Объявим же войну багам: эти мелкие ошибки могут нанести огромный ущерб.
Первый «баг» в истории, хранящийся в Национальном музее американской истории. В отличие от современных, этот «баг» был настоящим.
* * *
Взгляд в будущее
По окончании войны Грейс была зачислена в резерв ВМС. В течение всей жизни она постоянно занимала сразу несколько должностей. В 1949 году она также занялась делами частной компании, которая меняла названия: Remington, Sperry, Sperry-Rand и в конечном итоге получила название UNIVAC. Когда Грейс была принята на должность ведущего математика, компания называлась Eckert-Mauchly Corporation. Отметим, что Джон Преспер Экерт (1919–1995) и Джон Уильям Мокли (1907–1980), чьи имена носила компания, были создателями первого электронного многоцелевого компьютера, также имевшего огромные размеры, — легендарного ENIAC. Теперь они занимались не только военными задачами, связанными с баллистикой и взломом шифров, но и вопросами бизнеса. Информатика стала обычной наукой, и ее бурное развитие было уже не остановить.
В развитие информатики немалый вклад внесла Грейс Хоппер: она работала над компилятором, который со временем получил название FLOW-MATIC. 1952 год повсеместно считается годом рождения первого компилятора. Но сделаем небольшое отступление, чтобы объяснить, что это такое.