Исторические истории

Грейс Хоппер: бескомпромиссный математик, изменивший программирование

Пионер компьютерных технологий, адмирал‑ревизор ВМС США, первая женщина‑доктор наук из Йельского университета. Она революционизировала программирование и ввела в обиход слово «bug».

Первый электронный вычислитель Марк I выглядел скорее как механическая машина Чарльза Бэббиджа, чем как современный компьютер. Внутри стального корпуса вращался вал, приводимый в движение четырёхлошадиным мотором, а цепи передач и таймеров протягивались по всей длине устройства.

Код для Марка I писали от руки карандашом на стандартизированных листах, а затем переносили на ленты шириной три дюйма, похожие на рулоны фортепианных нотных листов или перфорированные карты Джаккарда.

«Укротить зверя за неделю»

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

Грейс Хоппер: бескомпромиссный математик, изменивший программирование

Грейс Хоппер, будучи студенткой Гарварда, получила от Говарда Айкена задание: написать программу для Марка I, вычисляющую коэффициенты интерполяции арктангенса с точностью до 23‑х знаков после запятой. «У меня была неделя, чтобы изучить эту машину и запустить программу», — вспоминает она.

«Проволоченный» босс

Без формального инженерного образования Грейс погрузилась в изучение кодовой книги, схемы проводки и документацию Марка I. Ночами она сидела за столом, иногда даже спала на рабочем месте, пока не осваивала сложные переключатели и реле. Позже, будучи уже известной в сфере программирования, она отдавалась самым сложным задачам самым молодым сотрудникам, считая, что они ещё не знают, что такое «невозможное».

Говард Айкен, руководитель проекта, требовал от подчинённых полной военной дисциплины: униформа, обращение «лейтенант‑командир», строгие графики. Тем не менее, Грейс воспринимала его как «машину», понимая, что в такой системе её навыки ценятся независимо от пола.

Грейс Хоппер: бескомпромиссный математик, изменивший программирование

В 1945 году в лаборатории упал мотылёк, застрявший в реле. Грейс прикрепила его к журналу с надписью «первый случай настоящего червя». Так появилось слово «bug» в компьютерной терминологии.

Создание подпрограмм

Во время войны Грейс и её коллега Ричард Блох разработали систему кодирования и пакетной обработки, которая сделала их лабораторию самым эффективным «центром обработки данных» того времени. Они ввели практику использования подпрограмм (subroutines), позволяя повторно использовать уже написанный код и существенно экономя время.

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

Грейс Хоппер: бескомпромиссный математик, изменивший программирование

После войны Грейс Хоппер продолжила карьеру в коммерческих ИТ‑компаниях, пропагандируя идею, что программирование должно быть доступным каждому. Она верила, что людям нужны не сложные двоичные коды, а простые слова для общения с компьютером.

В 1986 году Грейс вышла на пенсию с званием адмирала‑ревизора.