женщина написавшая код для аполлона
Маргарет Гамильтон: девушка, которая обеспечила полет на Луну
Именно эта гениальная девушка разрабатывала программное обеспечение для бортовых систем Apollo.
Вот так вот выглядел программный код, который Маргарет Гамильтон (Margaret Hamilton), ведущий программист космической программы «Аполлон», директор программной инженерии подразделения измерительной лаборатории МТИ, написала для Apollo Guidance Computer (AGC).
И Весь этот объем представлял собой лишь чистый код, а ведь были еще и бесконечные отчеты по устранению лагов и багов.
Работала Гамильтон и ее коллеги с прототипом компьютера XD-1 AN/FSQ-7 SAGE. В то время все коды писали вручную, а затем также вручную печатали, после отдельные части кода объединяли в программу. Все это называлось «LOL memory» («little old lаdies»).
Что дословно переводилось примерно как «память маленьких старых леди», ведь именно женщины были заняты в основном набором кодов.
При этом по воспоминаниям Маргарет Гамильтон, отношение к отделу «софта» всегда было более поверхностным и менее уважительным, чем к отделу «железа». Считалось, что программирование очень простая и легкая работа, ведь печатать могут даже женщины.
При этом дамы программировали, набирали коды, и даже давали советы мужчинам из «железного» отдела по улучшению их изделий.
Во время посадки на Луну произошел серьезный сбой в системе, который мог бы стоить жизни Нилу Армстронгу и Эдвину Олдрину. По какой-то причине совершенно не задействованный в процессе посадки модуля радар вдруг начал передавать огромные массивы информации компьютеру модуля, что привело к его перегрузке.
«Аполлон 11» уже был почти у самой Луны и в таком состоянии он бы просто разбился, если бы не Гамильтон, которая предусмотрела подобный сценарий в своих расчетах.
Специалистам удалось произвести быструю перезагрузку системы, после чего бортовой компьютер начал учитывать лишь приоритетные для посадки данные.
Модуль благополучно приземлился на Луну и Армстрон сделал свой первый «маленький шаг».
На счету Маргарет Гамильтон более 60 крупных успешных проектов, множество научных публикаций. Ее разработки в области компьютерной инженерии позволили создать системы ультранадежного проектирования программного обеспечения. Сейчас Маргарет 82 года, она с 1986 года является основателем и генеральным директором компании Hamilton Technologies.
Маргарет Гамильтон: девушка-гений, без которой не состоялся бы полет на Луну
На этой фотографии ведущий программист космической программы «Аполлон» Маргарет Гамильтон (Margaret Hamilton) запечатлена с распечаткой кода, который использовали для осуществления полета на Луну в 1969 году:
«На этой фотографии я стою рядом с исходниками кода, на котором работал Apollo Guidance Computer (AGC). Уточню, что в этой стопке только код — там нет отчётов по устранению багов и логов».
Все коды писались, а потом печатались вручную, затем объединяясь в программы. Этот вид памяти назвали «LOL memory». Дословно его можно перевести как «память маленьких старых леди» («little old lаdies»). Ведь печатали коды в основном женщины.
Как вспоминала потом Маргарет Гамильтон: «Это не значит, что менеджеры прошлого больше уважали женщин, чем сегодня.
Когда Нил Армстронг и Эдвин Олдрин были уже почти у Луны, система внезапно дала сбой. Радар, который никаким образом не был задействован в процессе посадки модуля, вдруг начал посылать огромный объем информации компьютеру, что привело к его перегрузке. «Аполлон 11» ждала неминуемая гибель, если бы Маргарет не предусмотрела подобный сценарий. Специалисты осуществили максимально быструю перезагрузку, и бортовой компьютер выбрал приоритетные данные по посадке корабля на Луну. Посадка состоялась.
Сегодня Маргарет Гамильтон 81 год. Она возглавляет компания Hamilton Technologies.
Заслуги в программировании Маргарет Гамильтон неоспоримы. Однако до сих пор находятся скептики, которые подвергают сомнению официальную версию приземления на Луну.
Понравилась статья? Подпишитесь на канал, чтобы быть в курсе самых интересных материалов
Кто такая Маргарет Гамильтон: покорительница Луны, о которой привыкли молчать
В этом году исполнилось 50 лет с момента, когда человек впервые ступил на поверхность Луны. Имена Нила Армстронга и Базза Олдрина известны широкой общественности, однако есть люди, без которых миссия «Аполлон-11» была бы невозможной, однако о них мало кто знает.
Маргарет Гамильтон стала настоящим открытием XX века. Она работала над программным обеспечением к миссии «Апполон-11» и без нее полет человека на Луну был бы невозможным. Журналисты Техно 24 подготовили для вас биографию этой уникальной женщины.
Ранние годы
Маргарет Гамильтон родилась 17 августа 1936 года в Паоле (штат Индиана, США). После окончания средней школы Хэнкок в 1954 году, она начала изучать математику в университете штата Мичиган в 1955 году.
Впоследствии девушка получила степень бакалавра математики со второй специализацией по философии в колледже Эрлгем в 1958 году. После выпуска она некоторое время преподавала в школе математику и французский язык, чтобы поддержать мужа, который учился на бакалавра в Гарварде.
Маргарет Гамильтон во время работы над проектом SAGE
Тогда девушка ничего не знала о программировании, пока не получила работу в Массачусетском технологическом институте, где она научилась писать программное обеспечение для компьютеров. Заметим, другого способа научиться программировать, кроме самообразования, тогда не существовало.
Работа над проектом SAGE и начало карьеры в NASA
С 1961 по 1963 год Гамильтон работала над проектом SAGE в лаборатории Линкольна, где она была одним из программистов, которые писали программное обеспечение для первого компьютера AN/FSQ-7 (а именно XD-1) для поиска вражеских воздушных судов. Она также писала программное обеспечение для Исследовательских лабораторий воздушных сил США в Кембридже.
Успехи Маргарет в проекте SAGE открыли ей дверь в NASA.
В этой компании принято давать новичкам программу, в которой никто не может разобраться и, тем более запустить. Когда я была стежером, мне тоже дали такое задание,
– вспоминала Гамильтон о начале работы в NASA.
«Это была весьма хитроумная программа, и более того, автор кода находил удовольствие в написании комментариев к коду, исключительно на греческом и латинском языках. Да, мне дали эту задачу, и, собственно, я заставила ее заработать. Она даже результат выводила на печать на греческом и латинском языке. Я была первой, кто смог ее запустить», – отметила инженер.
Программа «Аполлон»
B конце концов, Маргарет Гамильтон стала директором и научным руководителем разработки программного обеспечения для космической программы «Аполлон».
Команда Гамильтон отвечала за разработку бортового программного обеспечения, которое включало алгоритмы, разработанные различными старшими учеными командного модуля Аполлона, посадочного модуля и далее Скайлэб.
Маргарет Гамильтон с кодом программы «Аполлон»
Другая часть ее команды смоделировала и разработала программное обеспечение систем, которое включало программное обеспечение для обнаружения ошибок и восстановления, таких как перезагрузка и режимы показа (также «приоритетные показы»), которые Гамильтон спроектировала и разработала.
Когда Нил Армстронг и Базз Олдрин, были уже почти около Луны, система внезапно дала сбой. Радар, который не был задействован в процессе посадки модуля, вдруг начал посылать огромный объем информации компьютеру, что привело к его перегрузке. Обработка ложных сигналов занимала 15% машинного времени бортового компьютера, который обеспечивал посадку на Луну.
Маргарет Гамильтон исполнилось 83 года
«Аполлон 11» ждала неминуемая гибель, если бы Маргарет не предусмотрела подобный сценарий. Специалисты осуществили максимально быструю перезагрузку, и бортовой компьютер выбрал приоритетные данные по посадке корабля на Луну. Посадка состоялась.
Награды
За свой вклад в успех программы «Аполлон» и в области разработки программного обеспечения, она была отмечена такими наградами:
Барак Обама вручает награду Маргарет Гамильтон
Маргарет Гамильтон сегодня
Сегодня, Маргарет Гамильтон 83 года. Она возглавляет компанию Hamilton Technologies, Inc в Кембридже, штат Массачусетс. Заметим, компания разрабатывает язык программирования Universal Systems Language (язык универсальных систем), который предупреждает, a не исправляет острые ситуации. Он базируется на теории систем и опирается на уроки проекта, по разработке бортового программного обеспечения, кораблей «Аполлон».
В течение своей жизни, эта выдающаяся женщина стала свидетелем того, как разработка программного обеспечения, превратилась из не слишком серьезного занятия в престижную профессию программиста компьютерных программ.
Больше новостей, касающихся событий из мира технологий, гаджетов, искусственного интеллекта, а также космоса читайте в разделе Техно
Маргарет Гамильтон, ведущий инженер-программист проекта «Аполлон»
Маргарет Гамильтон в годы пилотируемой программы полётов к Луне «Аполлон».
Под таким названием можно встретить эту фотографию в интернет. На первый взгляд это просто фотография-шутка — коллеги сфотографировали девушку с грудой офисных бумаг, и будь в те времена социальные сети, фото разошлось бы по сети с каким-то смешным комментарием. Точно так же как и сейчас. И мало бы кто заинтересовался бы кто такая Маргарет Гамильтон и что происходит на фото. В действительности Маргарет Хэмилтон была ведущим инженером-программистом в проекте пилотируемой программы полётов к Луне «Аполлон», а на приведенной выше фото, она стоит перед распечаткой кода для бортового компьютера «Аполлон», изрядную часть которого она сама написала и который она ревизировала. Аполлон-11 смог приземлиться вообще только потому, что она разработала программное обеспечение достаточно надежно, чтобы обойти возникшие при посадке сбойные ситуации.
На момент первой в истории человечества посадки на Луну ей исполнилось 31.
Существующая по ныне традиция мужчин доверить женщинам ту работу, которой заниматься лень, скучно и вообще работа малооплачиваемая т.к. не очень сложна, но требует кропотливости, очевидно уходит своими корнями в глубину веков. Поэтому с появлением первых компьютеров женщины получили часть новых рабочих мест, преимущественно связанных с кропотливым вводом данных и программ в ЭВМ.
Кажущаяся на первый взгляд простая работа по перфорированию и вводу перфокарт в считывающее устройство, а позже работа с терминалом не требует большого ума. Но нужно вспомнить, что они были первыми кто столкнулся с новой сферой деятельности человека и никаких компьютерных научных дисциплин еще не существовало. Всё с чем они сталкивались происходило впервые, поэтому воспользоваться чужим опытом, заглянуть в инструкцию или позвонить в саппорт возможности не было. Широко известна Грейс Хоппер, как минимум, разработкой первого компилятора для компьютерного языка программирования. И очевидно, что не всё было так просто, как может показаться.
Маргарет Гамильтон получила степень бакалавра по математике в колледже Эрлхам в 1958 году и очевидно ничего не знала о программировании, пока не получила работу в Массачусетском технологическом институте, где она научилась писать программное обеспечение для компьютеров, другого способа научиться программировать, кроме самообразования, тогда не существовало.
Она отложила свою дипломную работу за возможность работать над программным обеспечением для программы Аполлона и в конечном счете стала руководителем Software Engineering в Instrumentation Laboratory Массачусетского технологического института для пилотируемой программы полётов «Аполлон» и «Скайлэб». Она опубликовала более 130 работ.
В 1986 году она основала и стала генеральным директором Hamilton Technologies, в Кембридже, штат Массачусетс, компании разработчика языка программирования Universal Systems Language. «Язык универсальных систем», предупреждающем, а не исправляющем сбойные ситуации, который основывается на теории систем и опирается на уроки проекта по разработке бортового программного обеспечения кораблей «Аполлон».
Интересно, что в один год с Маргарет родилась в СССР Ревмира Прядченко, которая окончив математико-механический факультет Ленинградского Государственного Университета, получила работу в Центре дальней космической связи, где она занимаясь не только непосредственно должностными обязанностями по приему телеметрии и оформлению «бумажек», но и пошла дальше по пути анализа принятой информации. Сыграла важную роль в истории ранней космонавтики. В конечном счете стала начальником отдела по обработке телеметрической информации. К сожалению череда неудач в советской космонавтике и затем застой коснулся не только советской космонавтики, но и судьбы самих участников, которая была не так благосклонна как к Маргарет. Но это другая история, которая, вероятно, вскоре исчезнет вместе с последними свидетелями и участниками ранней космонавтики.
«У нас любить умеют только мертвых».
«Борис Годунов» (1825)
А. С. Пушкин.
Int_13h14 декабря 2014 в 18:59#
Это видео должно быть здесь:
на 21 минуте как раз процесс прошивки ПЗУ 🙂
Маргарет Гамильтон: «Они беспокоились, что мужчины могут взбунтоваться; но этого не случилось»
Новатор в области информатики рассказывает о том, как руководила разработкой программного обеспечения для посадки миссии «Аполлон-11» на Луну
Барак Обама вручает Маргарет Гамильтон Президентскую медаль Свободы в 2016-м
Пионер информатики Маргарет Гамильтон сыграла ключевую роль в посадке астронавтов на Луну, впервые произошедшей 20 июля 1969 года, 50 лет назад, а также в безопасном возврате их домой спустя несколько дней. Молодая женщина-программист из MIT, с маленьким ребёнком, управляла командой, создававшей бортовое полётное ПО для миссий «Аполлон», включая и «Аполлон-11». Эта компьютерная система была одной из сложнейших для своего времени. Её строгий подход к программированию оказался настолько успешным, что неизвестно ни об одной программной ошибке, случавшейся во время пилотируемых миссий «Аполлон». «Она символизирует поколение невоспетых женщин, помогавших отправлять человечество в космос», — сказал президент Барак Обама в 2016 году, когда он наградил Гамильтон президентской медалью Свободы, высочайшей гражданской наградой в США. В 2017 году она стала одной из немногих женщин, работавших в НАСА, увековеченных в виде фигурки LEGO. В 50-ю годовщину первого прилунения Гамильтон, которой исполнилось уже 82 года, вспоминает о своей новаторской работе с вычислительной техникой.
Почему вы занялись программированием? Когда вы начинали работу, учёных степеней по информатике не существовало…
Я вышла замуж в 1958 году, сразу после получения диплома по математике и дополнительной степени по философии в колледже Эрлхэма. Мы оба могли поступить в аспирантуру – я по абстрактной математике, а мой муж по химии – но я год проработала учителем в старших классах, у нас появилась дочка, и муж решил, что хочет получать юридическое образование в Гарварде. Я нашла работу, чтобы обеспечивать семью в находившемся неподалёку MIT. Работа была в лаборатории профессора Эдварда Лоренца, отца теории хаоса, и заключалась в разработке системы, предсказывавшей погоду. Ему нужны были выпускники с математическим образованием. Мы наняли няньку, чтобы она заботилась о дочке. Там я и узнала, что такое компьютер и как писать ПО. Информатика и программирование ещё не существовали в виде отдельных дисциплин; программисты учились прямо на работе. Любовь Лоренца к экспериментам с ПО оказалась заразительной, ну я и заразилась.
Как вы попали в проект «Аполлон» в 1964?
От написания программ я перешла к обнаружению вражеских воздушных судов в лаборатории Линкольна при MIT. Я планировала вернуться к аспирантуре, когда мой муж увидел объявление в газете. Лаборатория измерительной аппаратуры MIT искала людей для разработки ПО для «отправки человека на Луну». Лаборатория получила от НАСА контракт на создание бортового полётного ПО для проекта «Аполлон», поскольку именно она также разрабатывала и вычислительное оборудование для этого. Меня привлекла как сама идея, так и то, что этого раньше никто не делал. Я была первым программистом и первой женщиной, нанятой ими. На проекте уже работали мужчины-инженеры, но они были по части электроники, и это была не их область. А у меня уже был такой опыт. Думаю, что в лаборатории решили, что я справлюсь с чем-то новым.
Вы сначала работали над ПО для беспилотных миссий «Аполлон». Но потом вас постепенно повысили до руководителя команды, разрабатывающей ПО для пилотируемых космических кораблей, включая «Аполлон-11». Что входило в ваши обязанности?
Там было два бортовых компьютера – один на командном модуле «Колумбия», а другой на лунном «Орле». В нашу задачу входила разработка ПО, которое должно было работать на каждом модуле само по себе, а также их общего ПО. Сначала никто не думал, что ПО будет настолько важным вопросом. Однако постепенно все стали понимать, насколько сильно от него всё зависит. Наша группа выросла настолько, что в итоге в команде работало около 100 программистов. На кону были жизни астронавтов. Нашему ПО нужно было быть чрезвычайно надёжным, и оно должно было уметь обнаруживать ошибки и восстанавливаться от них в любой момент в течение миссии. И всё это должно было соответствовать железу.
Маргарет Гамильтон в 1969 году с листингом программного кода, разработанного её командой для миссий «Аполлон»
Были ли у вас проблемы при совмещении работы программистом и материнства?
Часто по вечерам или на выходных я брала свою маленькую дочку, Лорен, с собой на работу. Однажды мы были вместе, и я занималась симуляцией миссии полёта на Луну. Ей нравилось меня имитировать, и играть в астронавта. Она начала жать на клавиши, и внезапно запустила симуляцию. Потом понажимала ещё клавиш, и симуляция упала. Она выбрала программу, которая должна была выполняться перед запуском – но при этом симуляция уже «летела» на Луну. У компьютера было так мало памяти, что он стёр все данные по навигации, необходимые для полёта. Я подумала: боже мой, это ведь может случайно произойти и во время реальной миссии. Я предложила изменить программу, чтобы предотвратить возможность запуска предстартового сегмента во время полёта.
Однако начальство из MIT и НАСА решило, что астронавты слишком хорошо натренированы, чтобы так ошибиться. И в процессе полёта уже в следующей миссии – «Аполлон-8» – один из астронавтов на борту случайно сделал именно то, что сделала Лорен. Ошибка Лорен! Я подняла бучу и настояла, чтобы миссию перенастроили. После этого они уже, конечно, позволили внести правки в программу.
Большую часть славы за прилунение забрали себе астронавты. Однако они сделали это при помощи созданной вами системы, предупреждавшей о чрезвычайных ситуациях в полёте. Как сказал Обама: «У наших астронавтов не было много времени, но, к счастью, у них была Маргарет Гамильтон».
Незадолго до посадки на приоритетном дисплее компьютера появились предупреждения о чрезвычайной ситуации, и компьютер оказался перегруженным. Я видела, как всё это происходило, стоя в центре управления в MIT. После этого мы воссоздали ситуацию – переключатель радара оказался в неправильном положении, и забирал себе процессорные мощности. Быстро стало ясно, что ПО не только информировало людей о наличии проблемы в оборудовании, но и компенсировало их – перезагружало и переназначало задачи с наивысшим приоритетом. Обнаружение ошибок и механизмы восстановления пришли на помощь. Всех охватило облегчение, когда они сели – и что астронавты в порядке, и что ПО сработало идеально.
Насколько я понимаю, в ранние дни программирования женщин там было довольно много. Считалось, что это женская работа. Так ли это было по вашему опыту?
Программирование никогда не считалось женской работой, по крайней мере, ни в одном из множества проектов, над которыми работала я. Люди-вычислители, занимавшиеся вычислениями вручную, в подавляющем большинстве случаев были женщинами, а также много женщин использовало механические калькуляторы типа Marchant – но они не были программистами. Они не писали код. Когда я начала работать над проектом «Аполлон», в нём больше не было женщин, писавших код. Затем, через пару лет, появилось немного женщин – некоторые из которых работали на меня. Мужчин всегда было гораздо больше.
Раздражало ли мужчин, что вы руководили ими?
Когда я взяла на себя управление, один из высоких начальников сказал, что у него нет сомнений в моей компетентности, но что он беспокоится о том, что какие-то мужчины из моей группы могут поднять бунт. Но этого не произошло. Мы более всего остального были сосредоточены на миссиях и работали плечом к плечу над решением сложных задач, стараясь успеть в критически важные сроки. Мне также повезло иметь очень современного мужа, особенно для того времени. Некоторые мужчины понимали равноправие.
Вы изобрели, или, по крайней мере, популяризировали термин software engineering [разработка программного обеспечения, программотехника]. Зачем ему понадобилось придумывать новое название?
В ранние годы «Аполлона» к программам не относились так же серьёзно, как к другим инженерным дисциплинам. Хотя у нас была довольно сложная система из многих составляющих, мы не получали признания за работу в по-настоящему серьёзной области. От отчаяния я придумала этот термин, как бы заявляя: «Эй, мы, вообще-то, тоже инженеры». Долгое время это воспринималось как шутка. А потом однажды на встрече один из наиболее уважаемых гуру в области железа объяснил всем, что согласен со мной. Процесс создания ПО тоже необходимо рассматривать, как инженерную дисциплину, как и в случае с железом. Это был памятный момент.
Маргарет Гамильтон увековечена в виде фигурки для Lego из серии «Женщины НАСА»
После «Аполлона» части вашего кода использовались в Skylab, первой космической станции, а потом в программе космических шатлов. Вы основали собственный бизнес, и использовали опыт для разработки более доступного и надёжного ПО. Какие уроки могут вынести для себя программисты сегодня из проекта «Аполло»?
Недавно мы столкнулись с системами, из-за которых самолёт падал, а пилот не понимал, что происходит. Также, что стало ясно из проекта «Аполло» – хотя работал он по-другому – что лучше определять системы заранее, чтобы минимизировать количество ошибок, вместо того, чтобы сразу выдавать кучу кода, который потом придётся исправлять патчами, которые потом тоже нужно будет патчить. Этот урок, судя по всему, остался неусвоенным – в данном отношении сегодня ПО разрабатывают так же, как и 50 лет назад.
1969: Margaret Hamilton alongside the code that got us to the moon
2019: Katie Bouman alongside the data that got us to the black hole pic.twitter.com/aIPOtdfA3F
— Ben Halpern @ CodeLand (@bendhalpern) April 10, 2019
Существует знаменитая фотография из 1969 года, где вы стоите рядом со стопкой распечатанного кода миссий «Аполлон» ростом практически с вас. Недавно это изображение сопоставили с фотографией Кэти Боумен, учёным, которая помогла разработать алгоритм, создавший самое первое изображение чёрной дыры. Она позирует со стопкой жёстких дисков своего проекта, и этот фотомонтаж стал вирусным. Помните ли вы, как делали эту фотографию, и что вы вынесли для себя из этого сравнения?
Фотографию сделал во время миссии «Аполлон-11» фотограф из MIT специально для газет. Мы увлеклись, сгребли все листинги от «Аполлона» в моём офисе и построили эту башню. Я пыталась найти способ удерживать её в вертикальном положении. Мне не казалось, что такое сравнение – это плохо. По крайней мере, они нас не прятали. Хотя я не завидую Боумен, ей ведь пришлось сражаться со всем сарказмом, который может распространяться в интернете. В некотором смысле для женщин ситуация сегодня стала хуже.
Какой совет вы дали бы молодым женщинам, желающим построить карьеру в программировании?
Не давайте страху завладеть вами, и не бойтесь говорить «Я не знаю» или «Я не понимаю» – глупых вопросов не бывает. И не верьте на 100% так называемым экспертам!