अपोलो कमांड मॉड्यूल के मॉकअप में हैमिल्टन, 1969। फोटो: NASA (पब्लिक डोमेन)।
श्रद्धांजलि
Margaret Hamilton
17 अगस्त 1936 – 30 सितंबर 2026 · कंप्यूटर वैज्ञानिक · अपोलो फ़्लाइट सॉफ़्टवेयर प्रमुख · 'सॉफ़्टवेयर इंजीनियरिंग' की जननी
मार्गरेट हैमिल्टन ने उस MIT टीम का नेतृत्व किया जिसने अपोलो कार्यक्रम का ऑनबोर्ड फ़्लाइट सॉफ़्टवेयर लिखा — वह कोड जो आधुनिक घड़ी की मेमोरी के एक अंश वाले कंप्यूटर पर चालक दल को चाँद तक और वापस ले गया। उन्होंने यह काम करते-करते विषय का ही आविष्कार किया: सॉफ़्टवेयर इंजीनियरिंग शब्द उन्हीं ने गढ़ा, उस समय जब इसे मज़ाक समझा जाता था।
पाओली से कैम्ब्रिज तक
मार्गरेट हीफ़ील्ड का जन्म 1936 में इंडियाना के पाओली में हुआ और वह आंशिक रूप से मिशिगन की अपर प्रायद्वीप में पली-बढ़ी; उनके पिता कवि और दर्शनशास्त्र के प्रोफ़ेसर थे। उन्होंने अर्लहम कॉलेज में गणित — उप-विषय में दर्शनशास्त्र — पढ़ा और 1958 में स्नातक हुईं, उसी वर्ष जेम्स हैमिल्टन से विवाह हुआ। बेटी लॉरेन 1959 में पैदा हुई।
उनका इरादा ब्रांडीस में अमूर्त गणित की स्नातकोत्तर पढ़ाई का था। इसके बजाय, पति के हार्वर्ड लॉ की पढ़ाई के दौरान घर चलाने के लिए उन्होंने MIT में एक अस्थायी मानी गई नौकरी ली — एडवर्ड लॉरेंज़ (हाँ, वही अराजकता-सिद्धांत वाले लॉरेंज़) के लिए LGP-30 और PDP-1 कंप्यूटरों पर मौसम-पूर्वानुमान सॉफ़्टवेयर लिखना। प्रोग्रामिंग के कोई कोर्स नहीं थे; करते हुए सीखना पड़ता था। वे तुरंत अच्छी निकलीं।
यही उन्हें MIT की लिंकन प्रयोगशाला और SAGE प्रोजेक्ट तक ले गया — महाद्वीपीय आकार का वायु-रक्षा तंत्र, जो पहले ऐसे तंत्रों में से था जिसे ऐसा सॉफ़्टवेयर चाहिए था जो विफल नहीं हो सकता। लिंकन लैब में हैमिल्टन की प्रतिष्ठा उन प्रोग्रामों को ठीक करने में बनी जिन्हें और कोई ठीक नहीं कर पाता था; सहकर्मियों ने सबसे कठिन, सबसे विचित्र बग उन्हें सौंपने शुरू किए। वह एक महाद्वीप की रखवाली करने वाली मशीन पर फ़ॉल्ट-टॉलरेंस सीख रही थीं।
अपोलो
1965 में, MIT की इंस्ट्रूमेंटेशन लेबोरेटरी — बाद में ड्रेपर — ने अपोलो के ऑनबोर्ड नेविगेशन का NASA अनुबंध जीता था। हैमिल्टन MIT में अपोलो प्रोजेक्ट पर नियुक्त पहली प्रोग्रामर थीं और उसके लिए प्रोग्राम करने वाली पहली महिला। उन्होंने अमानुषी मिशनों से शुरुआत की और मानवयुक्त कमांड व लूनर मॉड्यूल के फ़्लाइट सॉफ़्टवेयर लिखने वाली टीम की प्रमुख बनीं। 1968 तक वे कमांड एंड सर्विस मॉड्यूल के सॉफ़्टवेयर की जिम्मेदार थीं; प्रयास के शिखर पर 400 से अधिक लोग अपोलो के लिए कोड लिख रहे थे।
जिस मशीन को उनका कोड उड़ाना था वह अपनी छोटाई के लिए प्रसिद्ध थी: अपोलो गाइडेंस कंप्यूटर लगभग 85 किलोहर्ट्ज़ पर चलता था और इसकी रस्सी-मेमोरी लगभग 72 किलोबाइट थी — "लिटिल ओल्ड लेडीज़" नामक फ़ैक्टरी कारीगरों द्वारा फ़ेराइट कोर में तार-दर-तार हाथ से बुनी गई। सॉफ़्टवेयर उस मेमोरी में लिखा नहीं जाता था; वह उसमें बुना जाता था। बाद में पैच करना संभव नहीं था।
प्रसिद्ध तस्वीर: अपोलो गाइडेंस कंप्यूटर सॉफ़्टवेयर के प्रिंटआउट के ढेर के बगल में हैमिल्टन — लगभग उतना ऊँचा जितनी वे। हर पन्ना मेहनत था। (ड्रेपर प्रयोगशाला / पब्लिक डोमेन)
उनकी बेटी ने NASA से पहले बग पकड़ा
सॉफ़्टवेयर इतिहास की एक बेहतरीन कहानी एक बच्चे की है। लॉरेन हैमिल्टन, तब करीब आठ साल की, सप्ताहांत पर लैब आती और सिम्युलेटर पर अंतरिक्ष यात्री का खेल खेलती। एक बार उसने सिम्युलेशन के बीच में कीज़ दबा दीं और उड़ान के दौरान एक प्री-लॉन्च प्रोग्राम चला दिया — कंप्यूटर का नेविगेशन डेटा मिटा दिया। हैमिल्टन ने समझा क्या हुआ, और एक एरर चेक जोड़ने की पैरवी की ताकि वह अनुक्रम उड़ान में कभी न चले। ऊपर से जवाब: अंतरिक्ष यात्रियों को कभी गलती न करने का प्रशिक्षण दिया जाता है; ऐसा हो ही नहीं सकता।
अपोलो 8 पर, अंतरिक्ष यात्री जिम लॉवेल ने — ठीक वही करके जो लॉरेन ने किया था — गलती से वही प्रोग्राम चला दिया, और चाँद की कक्षा में अपना नेविगेशन डेटा मिटा दिया। हैमिल्टन की टीम ने चौबीसों घंटे काम करके टेबल दोबारा बनाए और चालक दल को घर लाई। जिस चेक की उन्होंने माँग की थी वह बाद में जोड़ा गया। हर प्रोग्रामर सबक पहचानता है: अगर इंसान कर सकता है, तो इंसान करेगा।
तीन मिनट जिन्होंने उन्हें सही साबित किया
उनकी सबसे गहरी धुन थी एरर हैंडलिंग — उस दौर के लिए एक कट्टरपंथी रुख। सॉफ़्टवेयर से या तो काम करने या विफल होने की अपेक्षा थी; हैमिल्टन जोर देती थीं कि उसे विफलता के बावजूद चलते रहना चाहिए: चालक दल को बताना क्या गलत है, और सबसे महत्वपूर्ण काम की पहले रक्षा करना। अपोलो का सॉफ़्टवेयर प्राथमिकता-शेड्यूल्ड एक्ज़ीक्यूटिव के तहत चलता था, "प्रायोरिटी डिस्प्ले" के साथ जो अलार्म छिपाने के बजाय दिखाते थे।
20 जुलाई 1969। अपोलो 11 शांति सागर की ओर उतर रहा है कि गाइडेंस कंप्यूटर 1201 और 1202 एक्ज़ीक्यूटिव ओवरफ़्लो अलार्म बजाने लगता है — मशीन से उसकी क्षमता से अधिक माँगा जा रहा है, क्योंकि रंडेवू रडार उसे बेज़रूरी डेटा भेज रहा है। हैमिल्टन की डिज़ाइन वही करती है जिसके लिए वे बनी थी: कम प्राथमिकता का काम छोड़ती है, लैंडिंग उड़ाती रहती है, और चालक दल को बताती है कि क्या हो रहा है। ह्यूस्टन में, 24 वर्षीय इंजीनियर जैक गारमन — जिसने अलार्म कोड कंठस्थ किए थे — फ़्लाइट डायरेक्टर स्टीव बेल्स को अलार्म का अर्थ समझाता है। जवाब ऊपर जाता है: "go"। आर्मस्ट्रांग और ऑल्ड्रिन उतरते हैं।
उन्होंने जो सबक छोड़ा: अलार्म खराबी नहीं थे — वे ऐसी स्थितियों में अपना डिज़ाइन किया हुआ काम कर रहा सिस्टम थे जिनकी कोई पूरी कल्पना नहीं कर सकता था। ऐसा सॉफ़्टवेयर लिखिए जो संघर्ष में सच बोले, जो महत्व की तरतीब करे और चुपचाप मरने के बजाय सुशोभित ढंग से कमज़ोर हो। यह विचार — आश्चर्य नहीं, डिज़ाइन किया हुआ व्यवहार के रूप में त्रुटियाँ — आज भी अच्छी इंजीनियरिंग का दिल है, और कोड को चलने से पहले विश्लेषित करने वाले टूल्स के पीछे भी यही वृत्ति है।
'सॉफ़्टवेयर इंजीनियरिंग'
जब हैमिल्टन ने अपने काम को "सॉफ़्टवेयर इंजीनियरिंग" कहना शुरू किया, वरिष्ठ सहकर्मी हँसे — इंजीनियरिंग तो हार्डवेयर था; सॉफ़्टवेयर कुछ ऐसा था जो टाइप किया जाता था। उन्होंने शब्द का प्रयोग तब तक जारी रखा जब तक काम खुद इसे निर्विवाद न बना दे: आवश्यकताओं, डिज़ाइन, परीक्षण, सिमुलेशन और समीक्षा वाली एक अनुशासन। वाक्यांश संशयवादियों से ज़्यादा जिया। आज यह पेशे का नाम है — और उन्होंने केवल नाम नहीं दिया, चाँद की राह में उसका अर्थ दिखाया।
अपोलो के बाद — निर्माण द्वारा इंजीनियरिंग
हैमिल्टन ने अगले दशकों में अपोलो की सीख को औपचारिक रूप दिया: सिस्टम डिज़ाइन से सही होने चाहिए, बाद में डिबग करके सही नहीं। 1976 में उन्होंने Higher Order Software की सह-स्थापना की, जिसने डिज़ाइन टूल USE.IT बनाया — स्वयंसिद्ध नियमों के तहत निर्दिष्ट सिस्टम, ताकि कोड की एक लाइन चलने से पहले ही त्रुटियों के पूरे वर्ग रोके जाएँ। 1986 में उन्होंने कैम्ब्रिज में Hamilton Technologies की स्थापना की और Universal Systems Language (USL) व 001 टूल सूट विकसित किया — "विकास, तथ्य से पहले", ऐसी सिस्टम इंजीनियरिंग जिसमें सॉफ़्टवेयर अपने सेवित सिस्टम की कठोरता विरासत में पाता है। इस काम का नेतृत्व उन्होंने जीवनभर किया।
सम्मान
1986 — ऑगस्टा एडा लवलेस पुरस्कार, Association for Women in Computing (प्रथम विजेता)
2003 — NASA Exceptional Space Act Award — NASA द्वारा किसी व्यक्ति को दिया गया सबसे बड़ा पुरस्कार
2007 — मानद उपाधि, बार्ड कॉलेज
2009 — अर्लहम कॉलेज उत्कृष्ट पूर्व-छात्रा पुरस्कार (बाद में मानद उपाधि)
2016 — प्रेसिडेंशियल मेडल ऑफ़ फ्रीडम, संयुक्त राज्य अमेरिका का सर्वोच्च नागरिक सम्मान
2017 — LEGO के "Women of NASA" सेट में अमर
2019 — इंट्रेपिड लाइफ़टाइम अचीवमेंट पुरस्कार
राष्ट्रपति ओबामा हैमिल्टन को प्रेसिडेंशियल मेडल ऑफ़ फ्रीडम प्रदान करते हुए, 2016 — 'वे उस पीढ़ी का प्रतीक हैं जो अनसुनी महिलाओं की थीं, जिन्होंने मानवता को अंतरिक्ष भेजने में मदद की।' (व्हाइट हाउस फोटो — पब्लिक डोमेन)
आखिरी शब्द
हैमिल्टन का निधन 30 सितंबर 2026 को कैम्ब्रिज में हुआ — उस प्रयोगशाला की दृष्टि में जहाँ उन्होंने पहली बार जाना कि सॉफ़्टवेयर क्या हो सकता है। वे 90 वर्ष की थीं। पीछे बेटी लॉरेन — वही छोटी लड़की जिसकी उंगलियों ने एक बार वह बग पकड़ा जो NASA की प्रक्रियाएँ नहीं पकड़ सकीं —, एक दामाद, दो पोते और चार पड़पोते-पड़पोतियाँ रह गए। NASA के प्रशासक ने उन्हें 'एक अग्रदूत' कहा 'जिनके काम ने अपोलो और मानवता की पहली चंद्र यात्राएँ संभव बनाईं'। कैम्ब्रिज में एक स्मारक समारोह की योजना है।
"कोई दूसरा मौका नहीं था। हम जानते थे। हम अपना काम गंभीरता से लेते थे, हम में से कई लोग इस सफ़र की शुरुआत बीस की उम्र में कर रहे थे… हमें रास्ता निकालना ही था और हमने निकाला। पीछे मुड़कर देखूँ तो हम दुनिया के सबसे भाग्यशाली लोग थे; अग्रदूत होने के सिवा कोई विकल्प नहीं था।"
वे दिग्गजों में क्यों हैं
यह साइट लोगों को प्रोग्रामिंग सिखाने के लिए है। हैमिल्टन वह व्यक्ति हैं जिन्होंने सिद्ध किया कि प्रोग्रामिंग इंसानी जानों का भार उठा सकती है — और इसके लिए सूक्ष्मता, विनम्रता और उस विफलता के लिए डिज़ाइन करने की इच्छा चाहिए जिसे आप कभी न आने की दुआ करते हैं। आधी रात लैब में डिबग करती एक माँ, शांति सागर की ओर उतरते हुए हार मानने से इंकार करने वाला कंप्यूटर, और एक शब्द — इंजीनियरिंग — जिसे उन्होंने करके सच बना दिया। दिग्गज ठीक इसी के लिए हैं।