Грейс Мюррей Хоппер
приемы, которые стали в дальнейшем широко использоваться в программистской практике. В частности, первыми инструментами, которые экономили труд программистов, были подпрограммы. Так вот, в августе 1944 года для “Марк-I” была написана первая подпрограмма для вычисления sin x. После нее последовали другие. “Мы стали писать подпрограммы”, — вспоминала Г. Хоппер, хотя термин “подпрограмма” был введен позже (Морис Уилкс в Англии. — А. Ч.).
И еще одно фундаментальное понятие техники программирования впервые ввели Г. Хоппер и ее группа — “отладка”. Причем случилось это при курьезных обстоятельствах. Жарким, летним днем 1945 года неожиданно произошла остановка компьютера “Марк-I”. Обнаружилась неисправность одного реле, контакты которого были заблокированы мотыльком, неизвестно каким образом туда попавшим. Вспоминает Г. Хоппер: “Когда к нам зашел офицер, чтобы узнать, чем мы занимаемся, мы ответили, что очищаем компьютер от насекомых (debuging). Термин “debuging” (отладка) с тех пор прижился и стал использоваться для обозначения поиска неисправностей в компьютере, особенно в программном обеспечении”.
В 1949 году Г. Хоппер перешла на работу старшим математиком во вновь образовавшуюся фирму Маучли — Эккерта (создателей электронного компьютера ENIAC), где приняла участие в разработке программных средств коммерческого компьютера UNIVAC-I. Фирма располагалась в помещении старой фабрики на севере Филадельфии. “Когда машина UNIVAC-I не работала, мы, бывало, говорили, что не мешало бы ее выбросить за забор, на У сторону, где была свалка, а самим махнуть на другую сторону — на кладбище”, — вспоминала те годы Г. Хоппер.
Для облегчения процесса составления программ на машинном языке вместо] записи команд в двоичной системе счисления (длинные серии единиц и нулей) в то время использовалась восьмеричная система счисления, запись в которой, как известно, в три раза короче двоичной, а взаимный переход oiJ одной к другой формален. “Все в фирме были убеждены, что единственный способ писать эффективные программы — это пользоваться восьмеричной системой”. Г Хоппер тоже освоила эту систему: научилась складывать, вычитать, умножать и делить в ней. Однако погружение в мир восьмеричной арифметики чуть было не стоило ей неприятностей в жизни, когда она подводила баланс своего банковского счета. (Выручил брат-банкир, напомнив ей, что банки все-таки работают с десятичной системой.) “Я столкнулась с проблемой жизни в двух мирах, — вспоминала Г. Хоппер, — вероятно, это было одной из причин, побудивших меня по возможности избавиться от! восьмеричных чисел”.