Как Маргарет Хамилтън спаси полета до Луната - женско списание април
Но историята на Apollo е и огромна софтуерна история. Астронавтите използваха компютъра Apollo Guidance, който се намираше както в командния, така и в лунния модул, за контрол и навигация и някой трябваше да го програмира.
Софтуерът за този компютър е написан от екип от Масачузетския технологичен институт (MIT), ръководен от Маргарет Хамилтън. На снимката по-долу тя държи кода, който тя и нейните колеги са написали за лунната програма Аполо 11.
Тъкане на програми заедно
Процесът на кодиране беше трудоемък. AGC използва специален вид памет - така наречената памет на сърцевината: връзките преминават през металната сърцевина по специален начин, така че кодът да се съхранява в двоична форма.
„Ако връзката е минавала през ядрото, тя е била кодирана като единица, ако е минавала през ядрото, е била кодирана като нула,“- каза Хамилтън в документалния филм Lunar Machines.
Всичко това беше комбинирано в програми в заводски условия ръчно. Този тип памет беше наречен "LOL памет" от "малки стари дами" (на английски "male old ladies"), тъй като фабриките бяха предимно жени.
Как добрият софтуер спаси мисията
Кодът на Хамилтън беше толкова добър, че всъщност спаси цялата мисия на Аполо 11.
Проблемът беше следният. Така нареченият „радар за среща“, който беше използван за връщане на командването на лунния модул, а компютърът на борда на модула използваше несъвместима мощност. Радарът, който не работеше по време на кацането на Луната, започна да изпраща тонове данни към компютъра - по същество произволен електрически шум. Това претовари компютъра и изчислителната мощност, необходима за безопасно кацане, не беше достатъчна. Цялата мисия беше прекратеназаплаха.
Хамилтън и нейният екип бяха много горди от своето "асинхронно" решение. Когато този сценарий се случи, това позволи на компютъра да разбере приоритета: компютърът беше програмиран да се рестартира автоматично и възможно най-бързо, за да се отърве от маловажни задачи като нежелани данни от радара.
„Ако този софтуер не работеше правилно, може би кацането на Луната никога нямаше да се случи“,пише „космическият писател“ A. J. S. Ryle.
Някога програмите се писаха от жени
Преди време жените се интересуваха повече от софтуера, защото индустрията не изглеждаше особено важна.
„Това не означава, че мениджърите от миналото са имали повече уважение към жените, отколкото днес“, пише Роуз Евелет в списание Smithsonian.Те просто смятаха, че програмирането е лесна работа. Изглеждаше като просто писане, така че софтуерният отдел никога не е бил толкова важен, колкото хардуерният. Така жените кодираха, програмираха и дори съветваха своите колеги мъже в хардуерния отдел как да подобрят продуктите си.”
„Започнах да използвам израза „софтуерно инженерство“ (разработване на софтуер), за да отделя нашия бизнес от хардуера и други инженерни области,каза Маргарет Хамилтън в интервю.Първоначално изглеждаше като забавна фраза и дълго време я използвахме като шега. Преди ме дразнеха за вярата ми във важността на това, което правим. Днес разработката на софтуер е станала толкова важна, колкото всичко останало в технологиите.”