Грейс Мюррей Хоппер (Grace Murray Hopper) родилась 9 декабря 1906 г. в Нью-Йорке, в семье страхового агента. Она рано научилась читать и еще в детстве обнаружила талант к математическим наукам и страсть к технике. По окончании частной школы для девочек она поступила в Вассар-колледж — первый в Америке колледж, где женщины могли рассчитывать на полноценное образование.

Через четыре года, в 1928 г., Грейс Мюррей получила степень бакалавра математики и физики и поступила в Йельский университет, который окончила в 1930 г., имея уже степень магистра математики. Тогда же Грейс вышла замуж за Винсента Фостера Хоппера, преподавателя английской словесности Нью-Йоркской коммерческой школы.

А уже в 1934-м Грейс Хоппер стала первой в истории женщиной, защитившей в Йельском университете докторскую диссертацию по философии в математике.

В 1940 г., после развода, тридцатичетырехлетняя Грейс неожиданно для всех решила поступить на военную службу. В 1943-м, переубедив армейское руководство, Грейс Хоппер была призвана на флот и получила должность третьего программиста ЭВМ Mark I в Бюро артиллерийских вычислительных проектов при Гарвардском университете.

Не проработав над баллистическими расчетами и года, Грейс сделала открытие: рутинные операции в вычислениях можно оформить как подпрограмму! Именно она в 1944 г. создала первую в мире подпрограмму для ЭВМ, вычисляющую sin(x).

В 1951 г. Грейс Хоппер разработала первый компилятор, который в ходе трансляции производил организацию подпрограмм, выделение памяти компьютера, преобразование псевдокодов в машинные команды.

В 1954 г., когда Грейс уже руководила группой разработчиков, на свет появилась целая система (под названием АТ-3), которая включала в себя настоящий язык программирования и компилятор. Для создания нового языка программирования Грейс Хоппер отобрала около 30 английских слов, определяющих возможные операции над данными: add (сложить), compare (сравнить), transfer (переслать). Условием отбора слов была их уникальность: каждая из команд содержит неповторимую комбинацию из первой и третьей букв, поэтому компилятор при генерации машинного кода мог все остальные буквы просто выбросить.

В 1959 г. в качестве консультанта Грейс Хоппер приступила к работе над новым, более совершенным и аппаратно-независимым языком COBOL (Common Business Oriented Language), который до сих пор используется в финансовых приложениях. Оценивая ее вклад в этот проект, коллеги прозвали Грейс «бабушкой Кобола».

Ко всему прочему именно Грейс Хоппер обнаружила первый в мире «баг»¹ (программную ошибку) и стала автором термина debugging. А случилось это в 1951 г., когда внутрь компьютера Mark II непонятным образом залетел мотылек и замкнул там контакты одного из реле. Позже Грейс рассказывала: «Когда к нам зашел офицер, чтобы узнать, чем мы занимаемся, мы ответили, что очищаем компьютер от насекомых (debugging)».

С тех пор термин debugging (отладка) вошел в обиход всех программистов мира, а термин «баг» стал означать неисправность любого рода. Извлеченного же из компьютера мотылька заботливо вклеили в системный журнал в отчет о первом случае «отладки».

Настойчивость, независимость и собственный стиль помогли Грейс Хоппер стать первой во всем, чем она занималась. Эта удивительная женщина никогда не пользовалась общепринятыми правилами и не следовала установленной системе. Грейс Хоппер часто говорила: «Люди испытывают аллергию к изменениям. Они любят говорить: мы всегда так поступали. Я пытаюсь перебороть это. Вот почему часы у меня на стене идут против часовой стрелки».


Полный вариант статьи см. на «Мир ПК-диске».


¹От англ. bug — жук, насекомое

2059