1 час назад
RIP Маргарет Гамильтон, программист NASA (1936—2026)


7 октября MIT объявил о смерти в возрасте 90 лет легендарной программистки Маргарет Гамильтон. В историю она вошла как руководительница команды MIT, разработавшей бортовое программное обеспечение для Apollo, но для истории программирования ее значение гораздо шире: именно вокруг таких работ постепенно сформировалось представление о software engineering как об отдельной инженерной дисциплине.
Дочь философа и поэта, Гамильтон всегда тянулась к точным наукам. В 1965 году он пришла в Instrumentation Laboratory MIT, которой NASA заказала разработку системы управления Apollo. Это был странный момент для профессии, которой еще практически не существовало. Аппарат уже имел двигатели, радары, гироскопы и вычислительную машину, а вот представление о программном обеспечении как о самостоятельной инженерной системе только формировалось.
Маргарет возглавила разработку бортового ПО для командного и лунного модулей. К 1968 году она отвечала за команду Command and Service Module, а над программным обеспечением Apollo работали уже сотни человек.
Главная заслуга Гамильтон была в создании архитектуры поведения системы при ошибке. Apollo Guidance Computer имел ничтожные по нынешним меркам вычислительные ресурсы, следовательно приложение должна была весьма жестко решать, какие задачи выполнять прямо сейчас, какие отложить, а какие можно отбросить. Гамильтон и ее команда использовали приоритетное планирование: при перегрузке компьютер мог отказаться от второстепенных операций и продолжить выполнять критические задачи управления. Это сегодня звучит как обычная инженерная практика, но тогда подобный решение был частью совершенно новой культуры разработки.
И именно этот момент оказался критическим для успеха миссии. За некоторое количество минут до посадки Apollo 11 компьютер лунного модуля стартовал выдавать тревоги 1202. Платформа получала больше работы, чем могла обработать в обычном режиме: радар выдавал данные, которые не требовались для непосредственного управления посадкой, но потребляли вычислительные ресурсы. Вместо того чтобы просто «упасть», приложение перераспределила приоритеты и продолжила выполнять необходимые задачи наведения. Центр управления получил возможность продолжить посадку. Через некоторое количество минут Нил Армстронг посадил Eagle на Луну.
Еще показательнее история, которую называют «ошибкой Лорен». Четырехлетняя дочь Гамильтон во время работы с симулятором случайно запустила программу P01 в неподходящий момент, в связи с чего симуляция завершилась с ошибкой. Гамильтон предложила изменить программное обеспечение, чтобы человеческая ошибка не могла привести к подобной ситуации во время настоящего полета. Ей сначала отказали: считалось, что хорошо подготовленные астронавты такую ошибку не совершат. Во время Apollo 8 Джим Ловелл действительно случайно запустил P01 в полете. После этого предложенные Гамильтон изменения были внесены в программу.
Вечная хранилище!

Читают сейчас

4 минуты назад
Минцифры будет ориентироваться на увеличение тарифов ЖКХ при оценке повышения цен на связь
Минцифры РФ будет ориентироваться на анонсированный рост тарифов ЖКХ при оценке возможного повышения цен операторами на тарифы связи, сообщил министр цифрового развития массовых коммуникаций Максут Ша

31 минуту назад
ChatGPT научился разрабатывать оболочку под каждый запрос налету
OpenAI завезли очень красивую фичу Intelligent ui. GPT‑6 теперь собирает прямо в диалоге интерактивные интерфейсы с кнопками, формами, графиками и картами. Представление результата модель выбирает сам

46 минут назад
Xbox запускает новое подразделение, занимающееся кино и телевидением
Xbox объявила о запуске нового подразделения под названием XP, которое будет заниматься направлениями, не связанными с разработкой видеоигр напрямую: экранизациями для кино и телевидения, потребительс

48 минут назад
Астроном‑любитель открыл новую планету при помощи Claude Code
Потребитель Reddit поделился историей о том, как при прочёсывании данных телескопа TESS от НАСА при помощи ИИ он наткнулся на закономерности в колебании светимости звезды, которая может указывать на т

1 час назад
Teenage Engineering прекратит производство синтезаторов
Teenage Engineering планирует прекратить производство синтезаторов, рассказал в интервью Highsnobiety основатель и генеральный директор шведской компании Йаспер Каудуфт. Речь в том числе идёт и о куль