Гамильтон, Маргарет (учёная)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Маргарет Гамильтон
англ. Margaret Hamilton
Имя при рождении англ. Margaret Hamilton[2]
Дата рождения 17 августа 1936(1936-08-17)[1] (88 лет)
Место рождения
Страна
Род деятельности специалист в области информатики, математик, инженер, бизнесвумен
Научная сфера информатика[2]
Место работы
Альма-матер
Награды и премии
Логотип Викисклада Медиафайлы на Викискладе

Маргарет Хэфилд Гамильтон (англ. Margaret Heafield Hamilton; род. 17 августа 1936, Пейоли, Индиана, США) — американский учёный в сфере информатики, системный инженер и владелица бизнеса. Она возглавляла отдел разработки программного обеспечения (ПО) лаборатории измерительных систем[англ.] Массачусетского технологического института (MIT). Отдел разрабатывал бортовое программное обеспечение для космической программы НАСА «Аполлон». В 1976 году она основала компанию Higher Order Software, а в 1986 году — Hamilton Technologies, Inc. в Кембридже, штат Массачусетс.

Гамильтон опубликовала более 130 научных работ, трудов и отчётов по шестидесяти проектам и шести крупным программам. Она — одна из тех специалистов, с кем связывают появление термина «разработка программного обеспечения».

22 ноября 2016 года Гамильтон получила Президентскую медаль Свободы от Барака Обамы за свою работу, приведшую к разработке бортового ПО для лунной программы НАСА.

Ранние годы

[править | править код]

Маргарет Хэфилд родилась 17 августа 1936 года в Пейоли, штат Индиана, в семье Кеннета и Рут Эстер Хэфилд[4][5]. После окончания средней школы Хэнкок в 1954 году[4] она изучала математику в Мичиганcком университете. В 1958 году она получает степень бакалавра по профилю математики и философии в колледже Эрлхэм[англ.][6][7].

По окончании учёбы Маргарет некоторое время преподаёт математику в средней школе и французский язык, обеспечивая семью, пока муж работал над дипломом бакалавра в Гарвардском университете. Затем переезжает в Бостон, чтобы окончить аспирантуру в области абстрактной математики в университете Брандейса. Гамильтон отмечает Флоренс Лонг, глава математического факультета в колледже Эрлхэм, благодаря помощи которой в абстрактной математике она становится профессором[8]. В числе других людей-вдохновителей, уже вне мира технологий, она отмечает своего отца, философа и поэта, и своего деда, директора школы и священника-квакера, повлиявших на получение ею учёной степени по философии[9].

Летом 1959 года Гамильтон начала работать у Эдварда Лоренца в отделе метеорологии в MIT[10]. Она участвовала в разработке программного обеспечения для прогнозирования погоды для компьютеров LGP-30 и PDP-1 в проекте MAC[англ.] Марвина Мински[11][12][13]. Она внесла вклад в работы Лоренца по теории хаоса. В то время информатика и разработка программного обеспечения ещё не были устоявшимися дисциплинами, и программисты учились на работе, на собственном практическом опыте[14]. Летом 1961 года она перешла в другой проект, наняв и обучив Эллен Феттер[англ.] себе на замену[10].

С 1961 по 1963 год Гамильтон работала в проекте SAGE Лаборатории Линкольна[12], где была одной из программистов, создававших программное обеспечение для прототипа системы AN/FSQ-7 (XD-1)[англ.], занимавшейся поиском самолётов противника[15]. Она также написала программное обеспечение для проекта слежения со спутников в Кэмбриджском исследовательском центре ВВС США[англ.][12]. Проект SAGE был продолжением проекта Whirlwind, начатого MIT для создания компьютерной системы прогнозирования погоды и движения атмосферных вихрей. Вскоре SAGE был доработан для военного использования в противовоздушной обороне от возможного нападения СССР во время Холодной войны.

Когда вы приходите в данную организацию, то обычно вам, как новичку, дают эту программу, которую никто и никогда не мог ни понять, ни запустить; и со мной было так же. Программирование этого оказалось сложной задачей, а тот, кто писал код программы, получал кайф, оставляя комментарии на греческом и латыни. И вот меня сажают на эту программу, но я всё-таки заставляю её работать. Программа даже распечатывала ответы на латыни и греческом. Я стала первой, кто заставил её работать[16].

Именно усилия Гамильтон в этом проекте сделали её кандидатом на должность ведущего разработчика программного обеспечения НАСА для программы Apollo[4].

Лаборатория Дрейпера

[править | править код]
Гамильтон рядом с распечатками текста программы, которую она и её команда в MIT создали для миссии «Аполлон-11» (1969)[17]
Гамильтон за работой, как ведущий разработчик полётного программного обеспечения миссии «Аполлон»[18]

Затем Гамильтон примкнула к команде Лаборатории Дрейпера[англ.] в MIT, которая работала для программы «Аполлон». В конце концов она возглавила команду, которой была поручена разработка программного обеспечения корабля «Аполлон» и орбитальной станции Скайлэб[19]. Команда Гамильтон отвечала за полётное программное обеспечение[20], которое включало алгоритмы, разработанные несколькими ведущими учёными для командного модуля «Аполлона», лунного посадочного модуля и «Скайлэб»[14][14][21]. Другая часть её команды спроектировала и разработала системное программное обеспечение[22]. Оно включало программное обеспечение для обнаружения и исправления ошибок, такие как перезапуски и «Процедуры интерфейса индикации» (также известные как «Приоритетные индикации»), которые спроектировала и разработала Гамильтон[23]. Она работала, чтобы получить практический опыт в то время, когда курсы информатики были редким явлением, а курсы разработки программного обеспечения ещё не существовали[14]. Гамильтон также занимала должность руководителя отдела разработки программного обеспечения[24].

В сферу её компетенции входят системная архитектура и разработка программного обеспечения, моделирование предприятия[англ.] и бизнес-процессов, парадигма разработки, формальные языки моделирования систем[англ.], системно-ориентированные объекты для моделирования и разработки систем, автоматизированные среды жизненного цикла, методы повышения качества программного обеспечения и степени повторного использования кода, анализ прикладной области[англ.], обеспечение корректности алгоритмов[англ.] с помощью встроенных языковых средств, методы открытой архитектуры надёжных систем, полная автоматизации жизненного цикла, методики обеспечения качества, бесшовная интеграция, техники обнаружения и исправления ошибок, интерфейсы пользователя, операционные системы, сквозное тестирование, методики управления жизненным циклом[14][17].

В один из критических моментов программы «Аполлон-11» полётное программное обеспечение бортовой ЭВМ предотвратило срыв посадки на Луну. За три минуты до того, как лунный модуль достиг поверхности Луны, сработало несколько сигналов тревоги. Компьютер был перегружен прерываниями, вызванными неправильной фазой питания, подаваемого на радар обеспечения стыковки лунного модуля[25][26][27]. Аварийные сигналы программы указывали на «переполнение исполнительной системы», означающее, что управляющий компьютер не мог в режиме реального времени выполнить все задачи и вынужден был некоторые отложить[28]. Асинхронный исполнительный модуль, разработанный Дж. Холкомбом Лэйнингом[англ.][25][29], использовался командой Гамильтон для разработки асинхронного полётного программного обеспечения:

Благодаря методам обнаружения и восстановления ошибок системной части полетного программного обеспечения, которые включали в себя общесистемный подход «убить и заново вычислить» от подхода перезапуска из «безопасного места» до техник снимка системы и отката, стало возможным разработать процедуры интерфейса индикации (приоритетные индикации) вместе с функцией «человек в цикле[англ.]» для обеспечения возможности прервать штатную индикацию на дисплеях астронавтов приоритетной индикацией критических сигналов тревоги в случае чрезвычайной ситуации. Поведение зависело от назначенных нами в программном обеспечении уникальных приоритетов для каждого процесса — это гарантировало, что все события будут происходить в нужное время и в правильном порядке относительно других событий[30].

Приоритетные сигналы тревоги Гамильтон прерывали штатную индикацию на дисплеях астронавтов, чтобы предупредить их, что произошла чрезвычайная ситуация, «дающая астронавтам возможность выбора садиться или не садиться»[31]. Джек Гармэн[англ.], инженер НАСА по управлению полётами, понял смысл ошибок, которые увидели космонавты на приоритетных индикациях, выкрикнул: «давай, давай!», и они продолжили посадку[32]. Пол Курто, старший технолог, выдвинувший Гамильтон на премию NASA Space Act Award, назвал её работу «фундаментом сверхнадёжного проектирования программного обеспечения»[22].

Гамильтон позже писала об инциденте:

Компьютер (или, вернее, программное обеспечение в нём) был достаточно умён, чтобы понять, что его просят выполнить больше задач, чем следует. Затем он отправил сигнал тревоги, который означал: «Я перегружен большим количеством задач, чем должен был выполнять в это время, и оставлю только наиболее важные задачи»; то есть задачи, которые необходимы для посадки... На самом деле, компьютер был запрограммирован на большее, чем распознавать ошибки. В программном обеспечении был задействован полный набор процедур восстановления. В данном случае программное обеспечение сняло задачи с более низким приоритетом и восстановило более важные задачи... Если бы компьютер не распознал эту проблему и не предпринял действий по восстановлению, я сомневаюсь, что Аполлон-11 успешно сел на Луну[33].

Собственные компании

[править | править код]

В 1976 году Гамильтон с компаньоном основали компанию под названием Higher Order Software (HOS)[34] для дальнейшего развития идей по предотвращению ошибок и отказоустойчивости ПО на основе опыта работы в MIT[35]. Они создали программный продукт USE.IT, основанный на методологии HOS, разработанной в MIT[36][37][38]. Он был успешно использован в многочисленных государственных проектах[39][40]. Один известный проект состоял в формализации и внедрении C-IDEF, автоматизированной версии IDEF, языка моделирования, разработанного ВВС США в проекте интегрированного автоматизированного производства (ICAM)[англ.][41].

Согласно одной критической оценке, проведённой консультантом ВМС США, утверждалось, что «книги по HOS скорее рекламируют свои идеи и продукты, чем вносят существенный вклад в область компьютерных наук»[42]. Эдсгер Дейкстра описал программное обеспечение USE.IT как «механические средства по применению устаревших методов»[43]. Теория HOS была использована Харелом[кто?] для разработки производного языка для более современной формы структурированного программирования, производного от HOS, называемого языком программирования «И/ИЛИ»[44]. Другие использовали HOS для формализации семантики лингвистических квантификаторов[45] и формализации проектирования надежных встроенных систем реального времени[46].

Гамильтон была генеральным директором HOS до 1984 года[35] и покинула компанию в 1985 году. В марте 1986 года она основала Hamilton Technologies в Кембридже (штат Массачусетс). Компания строилась вокруг языка USL[англ.] и связанной с ним автоматизированной среды, 001 Tool Suite, на основе парадигмы «Разработка перед фактом» для проектирования систем и разработки программного обеспечения[27][47][48].

Официальное фото для НАСА (1989)

Гамильтон, Энтони Эттингеру[англ.] и Барри Боэму приписывают появление дисциплины «разработка программного обеспечения»[49][50]. Согласно Гамильтон:

Работая в MIT, она хотела дать своему программному обеспечению «легитимность», как и в случае с другими инженерными дисциплинами, чтобы и ПО, и тем, кто его разрабатывает, было уделено должное внимание. В результате она предложила термин «разработка программного обеспечения», чтобы отличать его от других видов разработки[15].

Гамильтон рассказывает, как она пришла к термину «разработка программного обеспечения»:

Когда я впервые придумала этот термин, никто о нем ранее не слышал, по крайней мере, в нашем мире. Над этим непрестанно шутили в течение долгого времени. Людям нравилось подкалывать меня по поводу моих радикальных идей. Не забуду тот день, когда один из наиболее уважаемых гуру-"аппаратчиков" на техническом совещании объяснил всем, что он согласен со мной, что процесс создания программного обеспечения также следует рассматривать как инженерную дисциплину, как и в случае с оборудованием. Не потому, что он принял новый «термин» как таковой, а потому, что мы заслужили одобрение с его стороны и со стороны других присутствующих, поскольку термин по полному праву принадлежит инженерной области[30].

Когда Гамильтон начала использовать термин «разработка программного обеспечения» во время первых программ «Аполлон»[51][52], по сравнению с другими видами разработок, разработка программного обеспечения всерьёз не воспринималась[53] и не рассматривалась как наука. Со временем термин «разработка программного обеспечения» приобрёл такое же уважение, как и любая другая техническая дисциплина[49][54]. В выпуске журнала IEEE Software за сентябрь-октябрь 2018 года отмечалось 50-летие разработки программного обеспечения[55]. Гамильтон рассказывает об «ошибках», о том, как они повлияли на разработку программного обеспечения, и о том, как язык USL можно использовать для предотвращения большинства «ошибок» в системе[56]. В журнале Wired Роберт Макмиллан отметил: «В MIT Гамильтон способствовала созданию основных принципов программирования, разрабатывая с коллегами код для первого в мире портативного компьютера»[57]. Инновации Гамильтон выходят за рамки участия в доставке людей на Луну. Карен Теган Падид писала в Wired: «Она, наряду с другим пионером программирования, Грейс Хоппер, создательницей языка COBOL, также имеет большие заслуги в том, что у женщин стало больше возможностей добиться успеха в такой технической области, как программное обеспечение»[58][59].

Барак Обама награждает Гамильтон Президентской медалью свободы. 2016 год
Присуждение Гамильтон почётной докторской степени.
2018 год

Личная жизнь

[править | править код]

Маргарет познакомилась со своим мужем Джеймсом Коксом Гамильтоном во время учёбы в колледже Эрлхэм. Они поженились в конце 1950-х годов после того, как Гамильтон получила степень бакалавра. У них родилась дочь Лорен. Пара в разводе[69].

Публикации

[править | править код]
  • M. Hamilton (1994), "Inside Development Before the Fact, " cover story, Special Editorial Supplement, 8ES-24ES. Electronic Design, Apr. 1994.
  • M. Hamilton (1994), "001: A Full Life Cycle Systems Engineering and Software Development Environment, " cover story, Special Editorial Supplement, 22ES-30ES. Electronic Design, Jun. 1994.
  • M. Hamilton, Hackler, W. R.. (2004), Deeply Integrated Guidance Navigation Unit (DI-GNU) Common Software Architecture Principles (revised dec-29-04), DAAAE30-02-D-1020 and DAAB07-98-D-H502/0180, Picatinny Arsenal, NJ, 2003—2004.
  • M. Hamilton and W. R. Hackler (2007), "Universal Systems Language for Preventative Systems Engineering, " Proc. 5th Ann. Conf. Systems Eng. Res. (CSER), Stevens Institute of Technology, Mar. 2007, paper #36.
  • M. Hamilton and W. R. Hackler (2007), «A Formal Universal Systems Semantics for SysML», 17th Annual International Symposium, INCOSE 2007, San Diego, CA, Jun. 2007.
  • M. Hamilton and W. R. Hackler (2008), «Universal Systems Language: Lessons Learned from Apollo», IEEE Computer, Dec. 2008.

Примечания

[править | править код]
  1. Wayne T. K. American Women of Science Since 1900 (англ.)ABC-CLIO, 2011.
  2. 1 2 3 4 5 https://www.computerhistory.org/atchm/2017-chm-fellow-margaret-hamilton/
  3. https://web.archive.org/web/20150518094553/http://www.earlham.edu/alumni/homecoming-and-reunions/alumni-awards/award-recipient-archives/2009-outstanding-alumni-and-distinguished-service-awards/
  4. 1 2 3 Technical Innovation in American History: An Encyclopedia of Science and Technology (англ.) / Welch, Rosanne; Lamphier, Peg A.. — ABC-CLIO, 2019. — Vol. 3. — P. 62. — ISBN 978-1-61069-094-2.
  5. Ruth Esther Heafield (англ.). Tributes.com. Wujek-Calcaterra & Sons. Дата обращения: 15 декабря 2014. Архивировано 16 декабря 2014 года.
  6. 1 2 3 2009 Outstanding Alumni and Distinguished Service Awards (англ.). Earlham College. Дата обращения: 15 декабря 2014. Архивировано 18 мая 2015 года.
  7. Pioneers in Computer Science (англ.). Utah State University. Дата обращения: 25 мая 2019. Архивировано из оригинала 17 сентября 2016 года.
  8. The Woman Who Taught Me – Margaret Hamilton MAKERS Moment (англ.). MAKERS. Дата обращения: 6 мая 2019. Архивировано из оригинала 25 мая 2019 года.
  9. "Margaret Hamilton: The Untold Story of the Woman Who Took Us to the Moon". Futurism (англ.). 2016-07-20. Архивировано 20 декабря 2016. Дата обращения: 12 декабря 2016. {{cite news}}: Указан более чем один параметр |accessdate= and |access-date= (справка)
  10. 1 2 Sokol, Joshua The Hidden Heroines of Chaos (англ.). Quanta Magazine (20 мая 2019). Дата обращения: 25 мая 2019. Архивировано 20 мая 2019 года.
  11. Lorenz, Edward The Statistical Prediction of Solutions (англ.). The Meteorological Society of Japan (март 1962).
  12. 1 2 3 Wayne, Tiffany K. American Women of Science Since 1900 (англ.). — ABC-CLIO, 2011. — P. 480—482. — ISBN 978-1-59884-158-9. Архивировано 19 января 2023 года.
  13. Levy, Steven. Hackers: Heroes of the Computer Revolution (англ.). — Doubleday, 1984. — P. Chapter 5:The Midnight Computer Wiring Society. — ISBN 0-385-19195-2.
  14. 1 2 3 4 5 About Margaret Hamilton (англ.). klabs.org. Дата обращения: 25 мая 2019. Архивировано 6 декабря 2010 года.
  15. 1 2 Spicer, Dan 2017 CHM Fellow Margaret Hamilton (англ.). Computer History Museum. Дата обращения: 11 февраля 2019. Архивировано 12 февраля 2019 года.
  16. AGC – Conference 1: Margaret Hamilton's introduction (англ.). authors.library.caltech.edu. Дата обращения: 9 декабря 2015. Архивировано 31 января 2016 года.
  17. 1 2 Weinstock, Maia Scene at MIT: Margaret Hamilton's Apollo code (англ.). MIT News (17 августа 2016). Дата обращения: 17 августа 2016. Архивировано 18 августа 2016 года.
  18. Rayl, A.J.S (2006-10-16). "NASA Engineers and Scientists-Transforming Dreams Into Reality". 50th Magazine (англ.). NASA.
  19. About Margaret Hamilton (англ.). NASA Office of Logic Design. Дата обращения: 9 апреля 2017. Архивировано 27 апреля 2017 года.
  20. NASA – NASA Engineers and Scientists-Transforming Dreams Into Reality (англ.). nasa.gov. Дата обращения: 29 июля 2010. Архивировано 29 июня 2010 года.
  21. Hoag, David The History of Apollo On-board Guidance, Navigation, and Control (англ.). Charles Stark Draper Laboratory (сентябрь 1976). Дата обращения: 10 сентября 2016. Архивировано 5 ноября 2016 года.
  22. 1 2 3 Michael Braukus NASA News "NASA Honors Apollo Engineer" Архивировано 24 ноября 2010 года. (September 3, 2003)
  23. Green, Alan Keyboard and Display Program and Operation (page 29) (англ.). Charles Stark Draper Laboratory (июнь 1967). Дата обращения: 10 сентября 2016. Архивировано 17 июля 2016 года.
  24. 1 2 Margaret Hamilton 2017 Fellow (англ.). Computer History Museum. Дата обращения: 26 июня 2017. Архивировано 29 июня 2017 года.
  25. 1 2 Eyles, Don Tales from the Lunar Module Guidance Computer (англ.). Don Eyles Home Page. Дата обращения: 22 июля 2016. Архивировано 20 июля 2016 года.
  26. Blair-Smith, Hugh. System integration issues in Apollo 11 (англ.) // IEEE Aerospace and Electronic Systems Magazine. — 2011. — 7 November (vol. 26, no. 11). — P. 16—24. — doi:10.1109/MAES.2011.6065654.
  27. 1 2 Hamilton, Margaret; Hackler, William. Universal Systems Language: Lessons Learned from Apollo (англ.) // IEEE Computer[англ.] : journal. — 2008. — 12 December (vol. 41, no. 12). — P. 34—43. — ISSN 1558-0814. — doi:10.1109/MC.2008.541.
  28. Collins, Michael; Buzz Aldrin. A Yellow Caution Light // Apollo Expeditions to the Moon (англ.) / Cortright, Edgar M[англ.]. — Washington, D.C.: NASA, 1975. Архивировано 19 февраля 2008 года. Chapter 11.4.
  29. Mindell, David A. Digital Apollo (англ.). — MIT Press, 2011. — P. 149.
  30. 1 2 Snyder, Lawrence and Henry, Ray Laura, "Fluency7 with Information Technology", Pearson, ISBN 0-13-444872-3
  31. Hamilton, Margaret Recalling the 'Giant Leap' (англ.). MIT News (17 июля 2009). Дата обращения: 8 сентября 2016. Архивировано 15 сентября 2016 года.
  32. Lickly, Dan Recalling the 'Giant Leap' (англ.). MIT News (17 июля 2009). Дата обращения: 8 сентября 2016. Архивировано 15 сентября 2016 года.
  33. Hamilton, Margaret H. Computer Got Loaded (англ.) // Datamation. — 1971. — 1 March. — ISSN 0011-6963.
  34. Roberts, Edward B. Entrepreneurs in High Technology: Lessons from MIT and Beyond (англ.). — Oxford University Press, 1991. — P. 41. — ISBN 9780199762903.
  35. 1 2 AGC Biography – Margaret Hamilton (англ.). authors.library.caltech.edu. The Dibner Institute for the History of Science and Technology (9 мая 2002). Дата обращения: 26 июля 2019. Архивировано 25 июля 2011 года.
  36. M. Hamilton, S. Zeldin (1976) "Higher order software—A methodology for defining software" IEEE Transactions on Software Engineering, vol. SE-2, no. 1, Mar. 1976.
  37. Thompson, Arthur A.; Strickland, A. J., (1996), "Strategic Management: Concepts and Cases", McGraw-Hill Companies, ISBN 0-256-16205-0
  38. Rowena Barrett. Management, Labour Process and Software Development: Reality Bites (англ.). — Routledge, 2004. — P. 42. — ISBN 978-1-134-36117-5. Архивировано 19 января 2023 года.
  39. M. Hamilton; S. Zeldin. Higher order software techniques applied to a space shuttle prototype program in Lecture Notes in Computer Science, vol. 19, G. Goos and J. Hartmanis, Ed. New York: Springer-Verlag, pp. 17–31, presented at Program Symp. Proc., Colloque sur la Programmation, Paris, France, April 9–11, 1974 (англ.).
  40. Cohen, B. The Specification of Complex Systems (англ.). — Addison-Wesley, 1986. — ISBN 0-201-14400-X.
  41. Paul, Lois. Federal User Offers Free CAD/CAM Software (англ.) // Computerworld : magazine. — 1982. — 11 October (vol. 16, no. 41). — P. 9.
  42. Huber, Hartmut (1987-08). Higher Order Software – Evaluation and Critique (PDF) (Report). Naval Surface Warfare Center. p. 2–1 (PDF). Дата обращения: 22 июля 2016. {{cite report}}: |archive-url= требует |archive-date= (справка)
  43. Dijkstra, Edsgar Judging "HOS" From a Distance (англ.). Department of Computer Science - The University of Texas (7 апреля 1983). Дата обращения: 22 июля 2016. Архивировано 5 марта 2016 года.
  44. Harel, David. And/Or Programs: A New Approach to Structured Programming (англ.) // ACM Transactions on Programming Languages and Systems (TOPLAS)[англ.] : journal. — ACM, 1980. — January (vol. 2, no. 1). — ISSN 0164-0925. — doi:10.1145/357084.357085. Архивировано 18 октября 2016 года.
  45. Cushing, Steven (1983). Abstract Control Structures. And the Semantics of Quantifiers. EACL. Pisa, Italy. doi:10.3115/980092.980093. Архивировано 19 октября 2016. Дата обращения: 14 октября 2016 — Semantic Scholar. Источник. Дата обращения: 31 июля 2019. Архивировано 19 октября 2016 года.
  46. Holland, Michael. A Constrained Interface Refinement Method for Embedded System Design (англ.) : journal. — Department of Computing, Macquarie University, 1997. — 1 June.
  47. Krut, Robert W. Overview of Hamilton Technologies, Inc. (HTI) 001 // Integrating 001 Tool Support in Feature-Oriented Domain Analysis Methodology (англ.). — Software Engineering Institute of Carnegie Mellon University, 1993. — P. 13—15. Архивировано 5 июля 2019 года.
  48. Meng Ouyang, Michael W. Golay. An Integrated Formal Approach for Developing High Quality Software for Safety-Critical Systems (MIT Libraries, id MIT-ANP-TR-035) (англ.). Massachusetts Institute of Technology (сентябрь 1995). Дата обращения: 26 мая 2019. Архивировано 19 февраля 2015 года.
  49. 1 2 2018 International Conference on Software Engineering celebrating its 40th anniversary, and 50 years of Software engineering. ICSE 2018 – Plenary Sessions – Margaret Hamilton (англ.). Дата обращения: 9 июня 2018. Архивировано 3 июня 2018 года.
  50. Software Magazine. What to Know About the Scientist who Invented the Term "Software Engineering" (англ.). Дата обращения: 12 февраля 2019. Архивировано 24 ноября 2018 года.
  51. Rayl, A.J.S. NASA Engineers and Scientists-Transforming Dreams Into Reality (англ.). 50th Magazine. NASA (16 октября 2008). Дата обращения: 27 декабря 2014. Архивировано 23 декабря 2014 года.
  52. The NASA Heritage Of Creativity (англ.). Дата обращения: 13 июля 2016. Архивировано 29 мая 2016 года.
  53. Makers:Margaret Hamilton Videos (англ.). Makers.com. Дата обращения: 5 сентября 2017. Архивировано из оригинала 5 сентября 2017 года.
  54. Verne Margaret Hamilton, the Engineer Who Took the Apollo to the Moon (англ.). Medium (25 декабря 2014). Дата обращения: 29 апреля 2016. Архивировано 13 апреля 2016 года.
  55. IEEE Software. 50th Anniversary of Software Engineering (англ.). Дата обращения: 12 февраля 2019. Архивировано 12 февраля 2019 года.
  56. Hamilton, Margaret H. What the Errors Tell Us (англ.) // IEEE Software[англ.] : journal. — 2018. — Vol. 35, no. 5. — P. 32—37. — ISSN 0740-7459. — doi:10.1109/MS.2018.290110447.
  57. McMillan, Robert (2015-10-13). "Her code got humans on the moon – and invented software itself". Wired (англ.). Архивировано 23 октября 2015. Дата обращения: 20 октября 2015. {{cite news}}: Указан более чем один параметр |accessdate= and |access-date= (справка)
  58. Software — and a Woman — at the Heart of Lunar Triumph (англ.). WIRED. Дата обращения: 29 апреля 2016. Архивировано 5 мая 2016 года.
  59. Luke Kingma. The Women Who Put Men on the Moon (англ.). Futurism. Дата обращения: 20 июля 2016. Архивировано 23 июля 2016 года.
  60. Ada Lovelace Awards (англ.). Association for Women in Computing. Association for Women in Computing. Дата обращения: 17 сентября 2019. Архивировано 14 апреля 2016 года.
  61. NASA Press Release "NASA Honors Apollo Engineer" Архивировано 26 декабря 2017 года. (September 3, 2003)
  62. NASA Administrator Sean O'Keefe has commented saying: "The concepts she and her team created became the building blocks for modern software engineering. It's an honor to recognize Ms. Hamilton for her extraordinary contributions to NASA."
  63. President Obama Names Recipients of the Presidential Medal of Freedom (англ.). whitehouse.gov (16 ноября 2016). Дата обращения: 7 июня 2017. Архивировано 22 ноября 2016 года.
  64. Honour for software writer on Apollo moon mission (англ.). BBC News (23 ноября 2016). Дата обращения: 23 ноября 2016. Архивировано 24 ноября 2016 года.
  65. White House honors two of tech's female pioneers (англ.). CBS News. Дата обращения: 7 июня 2017. Архивировано 27 апреля 2017 года.
  66. The 2017 Fellow Award Acceptance Speech (англ.). Computer History Museum. Дата обращения: 31 июля 2019. Архивировано 10 июля 2020 года.
  67. Science. Women of NASA Lego toy set now on sale for $24.99 (англ.). Business Insider (22 июня 2017). Дата обращения: 1 ноября 2017. Архивировано 1 ноября 2017 года.
  68. Investiture of scientist Margaret Hamilton as an honorary doctor of the UPC (англ.). Universitat Politècnica de Catalunya (18 октября 2018). Дата обращения: 25 января 2019. Архивировано 26 января 2019 года.
  69. Stickgold, Emma (2014-08-31). "James Cox Hamilton, at 77; lawyer was quiet warrior for First Amendment". Boston Globe (англ.). Архивировано 16 декабря 2014. Дата обращения: 15 декабря 2014.