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

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

Маргарет Хэфилд Гамильтон (англ. 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]

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

С 1961 по 1963 год Гамильтон работала в проекте SAGE (en:Semi-Automatic Ground Environment) Лаборатории Линкольна,[12] где была одной из программистов, создававших программное обеспечение для прототипа системы AN/FSQ-7 (XD-1), занимавшейся поиском самолётов противника.[15] Она также написала программное обеспечение для проекта слежения со спутников в en:Air Force Cambridge Research Laboratories.[12] Проект SAGE был продолжением проекта Whirlwind, начатого MIT для создания компьютерной системы прогнозирования погодных систем и отслеживания их движения при помощи симуляторов. Вскоре SAGE был доработан для военного использования в противовоздушной обороне от возможного нападения СССР во время Холодной войны.

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

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

Лаборатория Дрейпера[править | править код]

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

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

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

Аполлон-11[править | править код]

В один из критических моментов программы «Аполлон-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]


Наследие[править | править код]

Official photo for NASA, 1989

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

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

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

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

Когда Гамильтон начала использовать термин «разработка программного обеспечения» во время первых программ Аполлон,[51][52] по сравнению с другими видами разработок, разработка программного обеспечения всерьез не воспринималась,[53] и не рассматривалась как наука. Со временем термин «разработка программного обеспечения» приобрел такое же уважение, как и любая другая техническая дисциплина.[54][49] В выпуске журнала 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 1900ABC-CLIO, 2011.
  2. 1 2 3 4 5 https://www.computerhistory.org/atchm/2017-chm-fellow-margaret-hamilton/
  3. 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 : []. — ABC-CLIO, February 28, 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. Дата обращения 31 июля 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 (20 July 2016).
  10. 1 2 Sokol, Joshua The Hidden Heroines of Chaos (англ.). Quanta Magazine (20 May 2019). Дата обращения 25 мая 2019.
  11. Lorenz, Edward The Statistical Prediction of Solutions (англ.). The Meteorological Society of Japan (March 1962).
  12. 1 2 3 Wayne, Tiffany K. American Women of Science Since 1900. — ABC-CLIO, 2011. — P. 480–82. — ISBN 978-1-59884-158-9.
  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 August 2016). Дата обращения 17 августа 2016. Архивировано 18 августа 2016 года.
  18. Rayl, A.J.S. NASA Engineers and Scientists-Transforming Dreams Into Reality (англ.), 50th Magazine, NASA (16 October 2006).
  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 (September 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 (June 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. A Yellow Caution Light // Apollo Expeditions to the Moon : [англ.] / Michael Collins, Edwin E., Jr. Aldrin. — Washington, D.C. : NASA, 1975. — ISBN NASA SP-350. Chapter 11.4.
  29. Mindell, David A. Digital Apollo : [англ.]. — MIT Press, September 30, 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 July 2009). Дата обращения 8 сентября 2016. Архивировано 15 сентября 2016 года.
  32. Lickly, Dan Recalling the 'Giant Leap' (англ.). MIT News (17 July 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 May 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, June 1, 2004. — P. 42. — ISBN 978-1-134-36117-5.
  39. 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 (August 1987), Higher Order Software – Evaluation and Critique, Naval Surface Warfare Center, p. 2–1, <https://apps.dtic.mil/dtic/tr/fulltext/u2/a198753.pdf#page=8>. Проверено 22 июля 2016. 
  43. Dijkstra, Edsgar Judging "HOS" From a Distance (англ.). Department of Computer Science - The University of Texas (7 April 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" in EACL.. DOI:10.3115/980092.980093. 
  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, July 1993. — P. 13–15.
  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 (September 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 October 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 December 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. Her code got humans on the moon – and invented software itself (англ.), Wired (13 October 2015).
  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 November 2016). Дата обращения 7 июня 2017. Архивировано 22 ноября 2016 года.
  64. Honour for software writer on Apollo moon mission (англ.). BBC News (23 November 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.
  67. Science. Women of NASA Lego toy set now on sale for $24.99 (англ.). Business Insider (22 June 2017). Дата обращения 1 ноября 2017. Архивировано 1 ноября 2017 года.
  68. Investiture of scientist Margaret Hamilton as an honorary doctor of the UPC (англ.). Universitat Politècnica de Catalunya (18 October 2018). Дата обращения 25 января 2019. Архивировано 26 января 2019 года.
  69. James Cox Hamilton, at 77; lawyer was quiet warrior for First Amendment (англ.), Boston Globe (31 August 2014). Дата обращения 15 декабря 2014.

Ссылки[править | править код]