«Забудь об этом» — так называлась небольшая компьютерная программа, которая, как считалось, никогда не понадобится, но тем не менее войдет в историю вместе со своей создательницей, американским инженером-программистом Маргарет Гамильтон, скончавшейся 30 сентября на 90-м году жизни.
Гамильтон руководила разработкой бортового программного обеспечения для командного и лунного модулей «Аполлона», что помогло астронавтам достичь Луны в 1969 году.
Среди ее первых задач после прихода в Лабораторию приборостроения Массачусетского технологического института (MIT) в 1965 году было написание программы для процедуры отмены миссии «Аполлона».
«Все говорили, что этого никогда не случится, [поэтому они сказали]: „Ну и ладно, хорошо. Отдадим это Маргарет, потому что она новичок“», — рассказала она Музею истории компьютеров.
Однако беспилотный полет был отменен, что повысило авторитет Гамильтон в команде. «Он [компьютер] запустил эту программу, которую я написала и назвала „Забудь об этом“. Внезапно я стала экспертом в одночасье», — сказала она.
Гамильтон родилась в Паоли, штат Индиана. Переехав с семьей в Мичиган, она окончила школу в 1954 году. Изучала математику в Мичиганском университете и Эрлхэм-колледже, который окончила в 1958 году со специализацией в области философии.
Она планировала продолжить обучение в аспирантуре и заняться академической карьерой, но в 1959 году решила переехать в Бостон к мужу, который изучал право в Гарварде. Она устроилась на работу в MIT к Эдварду Лоренцу — будущему пионеру теории хаоса — и программировала компьютеры LGP-30 и PDP-1 компании DEC для прогнозирования погоды.
Она работала над другими проектами в MIT, включая аэрокосмические системы, прежде чем в 1965 году услышала о миссиях «Аполлона». Она немедленно подала заявку на вступление в команду MIT, поддерживающую эти миссии. Сначала она писала программное обеспечение для беспилотных миссий «Аполлона», а затем руководила разработкой летного программного обеспечения для пилотируемой программы.
Программное обеспечение команды сыграло решающую роль в первой высадке на Луну, когда модуль «Аполлон-11» приближался к поверхности Луны в 1969 году. В последние минуты спуска навигационный компьютер выдал несколько неожиданных сигналов тревоги, заставив астронавтов усомниться в безопасности посадки. Сигналы указывали на «переполнение исполнителя», что означало невозможность системы выполнить все поставленные задачи.
Гамильтон также настаивала на мерах защиты от ошибок оператора. Ее четырехлетняя дочь в то время прервала симуляцию командного модуля, активировав программу предстартовой подготовки во время имитации полета. Гамильтон предложила защиту от такой ошибки, но изначально ей отказали, поскольку считалось маловероятным, что астронавты допустят подобное. Впоследствии астронавт совершил подобную ошибку во время полета «Аполлона-8», что привело к изменениям в программном обеспечении.
Для «Аполлона-11» защита программного обеспечения от перезапуска позволила продолжить выполнение критически важных задач посадки, несмотря на перегрузку. Инженер-компьютерщик Джек Гарман посоветовал руководителю полетов Стиву Бейлсу, что сигналы тревоги не требуют отмены миссии. «Мы продолжаем по этой тревоге», — подтвердил Бейлс. Экипаж благополучно приземлился на поверхность Луны, а затем вернулся на Землю. Перегрузка была вызвана нежелательными сигналами от радиолокационной системы сближения.
Работая над миссиями «Аполлона», Гамильтон начала называть себя «инженером-программистом», поскольку написание кода не воспринималось так же серьезно, как другие инженерные дисциплины. Этот термин теперь является стандартным. Она также изображена на культовой фотографии, стоя рядом со стопкой распечаток программного обеспечения «Аполлона» своей команды, почти такой же высокой, как и она сама.
После миссий «Аполлона» она основала и стала соучредителем ряда технологических компаний, специализирующихся на отказоустойчивом программном обеспечении. Она разработала методологию Development Before the Fact (DBTF) для предотвращения ошибок на ранних этапах, а также Universal Systems Language (USL) для проектирования систем.
В 2016 году президент Барак Обама наградил ее Президентской медалью Свободы. Пионер компьютерной техники Грейс Хоппер получила такую же награду посмертно. Белый дом охарактеризовал Гамильтон как математика и ученого-компьютерщика, внесшего вклад в концепции асинхронного программного обеспечения, планирования и отображения приоритетов, а также возможности принятия решений человеком, что заложило основу для современного, сверхнадежного проектирования и разработки программного обеспечения.
Наследие Гамильтон служит напоминанием о необходимости проектировать с учетом ошибок, которые пользователи якобы не совершат, и сбоев, которых никто не ожидает.
По данным MIT, у нее остались дочь, зять, двое внуков, четверо правнуков и трое братьев и сестер. ®
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Lindsay Clark




