553

Умерла Маргарет Гамильтон, чей код помог Apollo 11

Она помогла превратить программирование в инженерную дисциплину — и сделать лунную посадку устойчивой к сбоям.

Маргарет Гамильтон, руководившая разработкой бортового ПО программы Apollo, умерла 30 сентября в возрасте 90 лет. Её работа пережила лунную гонку: многие принципы надёжного ПО сегодня считаются базовыми.

О смерти Гамильтон Массачусетский технологический институт сообщил 7 октября. Она ушла из жизни 30 сентября, в 90 лет. В истории космонавтики её имя чаще всего связывают с Apollo 11, но масштаб её работы шире одной посадки: Гамильтон помогла сделать программное обеспечение самостоятельной инженерной областью в эпоху, когда к коду ещё относились как к второстепенной части больших машин.

Она родилась в 1936 году в Пейоли, штат Индиана, изучала математику в Мичиганском университете, а затем окончила Earlham College по специальности «математика» с дополнительным изучением философии. В 1959 году Гамильтон пришла в MIT, где сначала писала программы для прогнозирования погоды в группе Эдварда Лоренца. Позже в Lincoln Laboratory работала над SAGE — системой противовоздушной обороны, требовавшей от программ не просто вычислений, а устойчивой работы в реальном времени.

К программе Apollo она присоединилась в середине 1960-х. MIT Instrumentation Laboratory получила от NASA задачу создать программное обеспечение для бортовых компьютеров командного и лунного модулей. Гамильтон вошла в команду разработчиков, а затем возглавила направление программной инженерии и коллектив, отвечавший за критически важную часть системы навигации и управления.

Самый известный эпизод произошёл 20 июля 1969 года, когда лунный модуль Eagle уже снижался к поверхности. Бортовой компьютер начал выдавать сигналы 1201 и 1202: процессор был перегружен из-за потока задач от радиолокационной системы. Архитектура программы позволяла сбросить второстепенные операции, перезапустить необходимые процессы и сохранить вычисления, без которых посадка была бы невозможна. Решение продолжать снижение принимал Центр управления полётами, но возможность такого решения дала сама логика программного обеспечения.

В этом и состоял подход Гамильтон. Она настаивала, что ошибка человека, сбой оборудования или перегрузка не должны автоматически превращаться в катастрофу. Программа обязана распознавать ненормальное состояние, сохранять приоритет главных задач и восстанавливаться. NASA позднее отдельно отмечало её вклад в асинхронную обработку, приоритетное планирование, сквозное тестирование и взаимодействие человека с системой — элементы, которые стали основой сверхнадёжного ПО.

Не менее важным было само отношение к профессии. Гамильтон начала использовать выражение software engineering, когда оно звучало почти как шутка. Ей было принципиально важно поставить разработку программ в один ряд с аппаратной и системной инженерией: с требованиями, ответственностью, тестированием и расчётом отказов. Со временем термин перестал быть провокацией и стал названием огромной отрасли.

После завершения работы над Apollo Гамильтон занялась собственными компаниями. В 1976 году она основала Higher Order Software, а позже Hamilton Technologies, где продолжила развивать методы построения сложных систем с упором на предупреждение ошибок, а не только на их исправление после сбоя.

Признание пришло спустя десятилетия. В 2003 году NASA вручило ей Exceptional Space Act Award. В 2016-м Барак Обама наградил Гамильтон Президентской медалью Свободы — высшей гражданской наградой США. К тому времени фотография 1969 года, на которой она стоит рядом с высокой стопкой распечатанного кода Apollo, уже стала одним из самых узнаваемых образов ранней истории программирования.

Гамильтон не «написала программу, которая одна посадила человека на Луну» — за Apollo стояли тысячи специалистов. Но именно её команда создала ту часть системы, которая должна была продолжать работать, когда события переставали развиваться по плану. И это точнее всего объясняет её место в истории: не просто автор кода для знаменитой миссии, а инженер, которая учила машины ошибаться безопасно.

У первых лунных компьютеров были скромные по нынешним меркам память и вычислительная мощность. Их надёжность рождалась не из запаса ресурсов, а из архитектуры и дисциплины. Маргарет Гамильтон показала это раньше, чем программное обеспечение стало невидимой инфраструктурой повседневной жизни.

Фото: редакция ИЗНАНКИ.