Маргарет Гамильтон, ведущий инженер-программист проекта «Аполлон»




Маргарет Гамильтон в годы пилотируемой программы полётов к Луне «Аполлон».

Под таким названием можно встретить эту фотографию в интернет. На первый взгляд это просто фотография-шутка — коллеги сфотографировали девушку с грудой офисных бумаг, и будь в те времена социальные сети, фото разошлось бы по сети с каким-то смешным комментарием. Точно так же как и сейчас. И мало бы кто заинтересовался бы кто такая Маргарет Гамильтон и что происходит на фото. В действительности Маргарет Хэмилтон была ведущим инженером-программистом в проекте пилотируемой программы полётов к Луне «Аполлон», а на приведенной выше фото, она стоит перед распечаткой кода для бортового компьютера «Аполлон», изрядную часть которого она сама написала и который она ревизировала. Аполлон-11 смог приземлиться вообще только потому, что она разработала программное обеспечение достаточно надежно, чтобы обойти возникшие при посадке сбойные ситуации.
На момент первой в истории человечества посадки на Луну ей исполнилось 31.

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


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

Маргарет Гамильтон получила степень бакалавра по математике в колледже Эрлхам в 1958 году и очевидно ничего не знала о программировании, пока не получила работу в Массачусетском технологическом институте, где она научилась писать программное обеспечение для компьютеров, другого способа научиться программировать, кроме самообразования, тогда не существовало.

Она отложила свою дипломную работу за возможность работать над программным обеспечением для программы Аполлона и в конечном счете стала руководителем Software Engineering в Instrumentation Laboratory Массачусетского технологического института для пилотируемой программы полётов «Аполлон» и «Скайлэб». Она опубликовала более 130 работ.

В 1986 году она основала и стала генеральным директором Hamilton Technologies, в Кембридже, штат Массачусетс, компании разработчика языка программирования Universal Systems Language. «Язык универсальных систем», предупреждающем, а не исправляющем сбойные ситуации, который основывается на теории систем и опирается на уроки проекта по разработке бортового программного обеспечения кораблей «Аполлон».

За свой вклад в успех программы «Аполлон» и в области разработки программного обеспечения она была отмечена тремя наградами:
  1. 1986, Augusta Ada Lovelace Award, Association for Women in Computing.
  2. 2003, NASA Exceptional Space Act Award for scientific and technical contributions. Награда включала в себя денежную награду в $37200, наибольшая персональная сумма награды в истории НАСА.
  3. 2009, Outstanding Alumni Award, Earlham College
Что же произошло 20 июля 1969 года и чем обязано человечество 31-летней программистке-самоучке?
После расстыковки командно-служебного и лунного модулей выключатель радара стыковки был поставлен в неправильное положение из-за ошибки в инструкции для астронавтов, радар посылал ошибочные сигналы бортовому компьютеру. Обработка ложных сигналов занимала 15% машинного времени бортового компьютера, обеспечивавшего посадку на Луну. Заслуга Гамильтон заключается в грамотной разработке программного обеспечения, в котором она предусмотрела приоритет задач. Бортовой компьютер после получения определенного количества сообщений от неприоритетной задачи, «сконцентрировался» на приоритетной задаче — прилунении и игнорировал неприоритетные задачи.
Маргарет Гамильтон также приписывается введение термина “software engineering”.

Интересно, что в один год с Маргарет родилась в СССР Ревмира Прядченко, которая окончив математико-механический факультет Ленинградского Государственного Университета, получила работу в Центре дальней космической связи, где она занимаясь не только непосредственно должностными обязанностями по приему телеметрии и оформлению «бумажек», но и пошла дальше по пути анализа принятой информации. Сыграла важную роль в истории ранней космонавтики. В конечном счете стала начальником отдела по обработке телеметрической информации. К сожалению череда неудач в советской космонавтике и затем застой коснулся не только советской космонавтики, но и судьбы самих участников, которая была не так благосклонна как к Маргарет. Но это другая история, которая, вероятно, вскоре исчезнет вместе с последними свидетелями и участниками ранней космонавтики.

«У нас любить умеют только мертвых».
«Борис Годунов» (1825)
А. С. Пушкин.

P.S.
Int_13h14 декабря 2014 в 18:59#
Это видео должно быть здесь:


на 21 минуте как раз процесс прошивки ПЗУ :)


Источник: geektimes.ru/post/242925/