در ۲۰ ژوئیه ۱۹۶۹، زمانی که ماژول ماهنشین «ایگل» در حال نزدیک شدن به سطح ماه بود، رایانههای آن شروع به نمایش پیامهای هشدار کردند. مرکز کنترل مأموریت برای لحظهای با تصمیم «ادامه یا توقف» مواجه شد، اما با اعتماد بالا به نرمافزاری که توسط مارگارت همیلتون و تیمش طراحی شده بود، به فضانوردان اجازه ادامه مسیر داده شد. این نرمافزار قادر بود پیامهای خطا را تشخیص دهد و وظایف کماهمیت را نادیده بگیرد، و به هدایت نیل آرمسترانگ و باز آلدرین در سطح پر از دهانه و غبار ماه ادامه داد.
همیلتون بعدها گفت که نرمافزار نهتنها وجود مشکل سختافزاری را اطلاع داده بود، بلکه خودش در حال جبران آن بود. بررسیها نشان داد که اشتباه از چکلیست فضانوردان بوده که آنها را به تنظیم اشتباه کلید رادار ملاقات هدایت کرده بود. همیلتون گفت خوشبختانه مرکز کنترل مأموریت به نرمافزار ما اعتماد داشت. در حالی که تنها ۳۰ ثانیه سوخت باقی مانده بود، نیل آرمسترانگ اعلام کرد: «ایگل فرود آمد.»
این موفقیت در زمانی رخ داد که فناوری رایانهای هنوز در مراحل ابتدایی بود. فضانوردان فقط به ۷۲ کیلوبایت حافظه رایانهای دسترسی داشتند، در حالی که یک تلفن همراه امروزی با ظرفیت ۶۴ گیگابایت تقریباً یک میلیون برابر فضای بیشتری دارد. برنامهنویسان مجبور بودند اطلاعات را با کارتهای پانچ کاغذی وارد رایانههای عظیم بدون صفحهنمایش کنند.
در زمان فرود، همیلتون که ۳۲ سال داشت، از مؤسسه MIT به مرکز کنترل مأموریت متصل بود. او گفت تمرکزش روی خود مأموریت نبود، بلکه روی عملکرد نرمافزار بود. پس از موفقیت عملیات، سنگینی لحظه را احساس کرد و گفت: «خدای من. ببین چه شد. موفق شدیم. کار کرد. هیجانانگیز بود.»
همیلتون که اصطلاح «مهندسی نرمافزار» را رایج کرد، ابتدا با انتقادهایی مواجه شد. برخی معتقد بودند این اصطلاح اهمیت کار او را بیش از حد جلوه میدهد. اما امروز که مهندسان نرمافزار یکی از پرتقاضاترین گروههای کاری هستند، کسی به مارگارت همیلتون نمیخندد.
در زمان برنامهریزی مأموریتهای آپولو، نوشتن کدهای رایانهای روی صفحات بزرگ کاغذی آغاز میشد. اپراتورهای پانچ با ایجاد سوراخهایی روی کارتهای کاغذی، کدها را وارد سیستم میکردند. پل سروززی، متصدی بازنشسته موزه ملی هوافضای اسمیتسونیان که دو دهه با مارگارت همیلتون آشنا بوده، میگوید امروزه افراد زیادی نمیدانند کارت پانچ چیست، اما برنامهنویسی آنگونه انجام میشد.
این موزه مجموعه نرمافزارهای رایانه هدایت پرواز آپولو را که توسط همیلتون طراحی شده، در اختیار دارد. این مجموعه شامل برگههای چاپشدهای است که نتایج محاسبات معادلات هدایت را نشان میدهد. زمانی که خروجی رایانه مشکلی را نشان نمیداد، مهندسان نرمافزار با بررسی چشمی این برگهها اطمینان حاصل میکردند که نیازی به اصلاح نیست.
پس از تأیید نهایی، کدها به کارخانه Raytheon ارسال میشد، جایی که بیشتر کارکنان آن زنانی بودند که پیشتر در کارخانههای نساجی نیوانگلند کار میکردند. آنها سیمهای مسی و هستههای مغناطیسی را به شکل طنابی بلند میبافتند. در این فرآیند، اگر کد عدد یک بود، سیم از درون هسته مغناطیسی عبور میکرد و اگر صفر بود، سیم از اطراف آن میگذشت. این روش خلاقانه، طنابی را شکل میداد که حامل دستورهای نرمافزاری بود.
همیلتون به سروززی گفته بود که این زنان با نام LOL شناخته میشدند، نه بهخاطر شوخطبعی، بلکه بهعنوان مخفف عبارت «خانمهای مسن کوچک». خود همیلتون نیز لقب «مادر طناب» را داشت.
طناب حافظهای که برای رایانههای آپولو ساخته شد، محدودیت حافظه این رایانهها را جبران میکرد. این روش به گفته تیزل مویر-هارمونی، متصدی موزه هوافضا و نویسنده کتاب «آپولو تا ماه: تاریخچهای در ۵۰ شیء»، یک سیستم بسیار مقاوم ایجاد کرد. او میگوید این یکی از دلایلی بود که رایانه هدایت آپولو در تمام مأموریتها بدون نقص عمل کرد.
مارگارت همیلتون از کودکی به ریاضیات علاقه داشت و پس از ترک دانشگاه، این علاقه را به تخصص در برنامهنویسی و مهندسی نرمافزار تبدیل کرد. زمانی که همسرش در سال ۱۹۵۹ در مدرسه حقوق دانشگاه هاروارد تحصیل میکرد، او در مؤسسه MIT مشغول به کار شد و نوشتن نرمافزارهای پیشبینی آبوهوا را آموخت. یک سال بعد، در برنامه SAGE برای شناسایی هواپیماهای دشمن شروع به برنامهنویسی کرد.
در اواسط دهه ۱۹۶۰، همیلتون شنید که MIT اعلام کرده به دنبال برنامهنویسانی برای ارسال انسان به ماه است. او گفت: «با خودم فکر کردم، وای، باید برم اونجا.» در حالی که قصد داشت تحصیلات تکمیلی خود را در دانشگاه برندایس در رشته ریاضیات انتزاعی آغاز کند، برنامه فضایی آمریکا دل او را برد. بهدلیل موفقیت در پروژه SAGE، او نخستین برنامهنویسی بود که برای پروژه آپولو در MIT استخدام شد. در سال ۱۹۶۵، همیلتون سرپرستی تیمی را در آزمایشگاه ابزار دقیق MIT (که بعدها به آزمایشگاه Draper تغییر نام داد) برعهده گرفت. این تیم مسئول نوشتن و آزمایش نرمافزار برای دو رایانه ۷۰ پوندی آپولو ۱۱ بود؛ یکی در ماژول فرماندهی «کلمبیا» و دیگری در ماژول ماهنشین «ایگل».
همچنین بخوانید: با بزرگترین رایانه دنیا SAGE ساخت IBM آشنا شوید
تیزل مویر-هارمونی، متصدی موزه هوافضا، میگوید زمانی که به مارگارت همیلتون فکر میکند، جملهای از او در ذهنش نقش میبندد: «چارهای جز پیشگام بودن نبود.» به گفته او، این جمله شخصیت و اهمیت همیلتون در برنامه آپولو را بهخوبی نشان میدهد. همیلتون در توسعه مهندسی نرمافزار پیشگام بود و بهعنوان زنی که در محیط کاری چنین نقشی را برعهده گرفت، نیز پیشگام محسوب میشود.
در آن زمان، مانند امروز، بیشتر مهندسان نرمافزار مرد بودند، اما همیلتون اجازه نداد این موضوع مانعی برایش باشد. او باور داشت که باید حقوق برابر و دسترسی برابر وجود داشته باشد و مسئله جنسیت مطرح نبود، بلکه افراد باید بتوانند به دنبال شغل دلخواه خود بروند و با چالشهای مورد نظرشان روبهرو شوند. مویر-هارمونی میگوید همیلتون در برنامهنویسی بسیار خلاق و نوآور بود و راهحلهایی خارج از چارچوبهای معمول ارائه میداد، چیزی که در انتخابهای حرفهای و کارهای آزمایشگاهیاش نیز دیده میشود.
برای افزایش قابلیت اطمینان نرمافزار، همیلتون تلاش کرد نرمافزار آپولو را طوری طراحی کند که بتواند با مشکلات ناشناخته مقابله کند و در صورت لزوم، یک وظیفه را متوقف کرده و وظیفه مهمتری را انجام دهد. در جستوجوی روشهای جدید برای رفع اشکال، او متوجه شد که صدا میتواند بهعنوان نشانگر خطا عمل کند. او گفت برنامهاش در پروژه SAGE هنگام اجرا صدایی شبیه ساحل داشت. یکبار یکی از همکارانش او را بیدار کرد و گفت برنامه دیگر صدای ساحل نمیدهد. همیلتون با اشتیاق به محل کار رفت تا مشکل را پیدا کند و این روش جدید را در کارهایش بهکار گیرد.
مارگارت همیلتون که مادر شاغل بود، شبها و آخر هفتهها دختر خردسالش را با خود به آزمایشگاه ابزار دقیق MIT میبرد. یک روز، دخترش در حال بازی «فضانوردی» دکمهای از شبیهساز را فشار داد که باعث از کار افتادن سیستم شد. همیلتون بلافاصله متوجه شد که این اشتباهی است که ممکن است یک فضانورد نیز مرتکب شود. او پیشنهاد داد نرمافزار برای جلوگیری از این خطا اصلاح شود، اما به او گفته شد: «فضانوردان آموزش دیدهاند که هرگز اشتباه نکنند.»
در جریان پرواز مداری آپولو ۸، فضانورد جیم لاول دقیقاً همان اشتباهی را مرتکب شد که دختر همیلتون انجام داده بود. خوشبختانه تیم همیلتون توانست ظرف چند ساعت مشکل را برطرف کند. پس از آن، در تمام مأموریتهای بعدی آپولو، محافظتهایی در نرمافزار گنجانده شد تا از تکرار این خطا جلوگیری شود. همیلتون بهتدریج کل مأموریت را بهعنوان یک سیستم در نظر گرفت: «بخشی نرمافزار است، بخشی انسانافزار، بخشی سختافزار.»
کار همیلتون در هدایت مأموریتهای بعدی آپولو که به ماه فرود آمدند نقش داشت و همچنین به پروژه اسکایلب، نخستین ایستگاه فضایی آمریکا در دهه ۱۹۷۰، کمک کرد. او در سال ۱۹۷۲ از MIT جدا شد و شرکت خود را با نام Higher Order Software تأسیس کرد. چهارده سال بعد، شرکت دیگری به نام Hamilton Technologies, Inc. راهاندازی کرد و در آن زبان برنامهنویسی Universal Systems Language را توسعه داد تا طراحی سیستمها قابلاعتمادتر شود.
ناسا در سال ۲۰۰۳ جایزه Exceptional Space Act را به او اهدا کرد و با مبلغ ۳۷٬۲۰۰ دلار، بزرگترین جایزه مالیای را که تا آن زمان به یک فرد داده بود، به او اختصاص داد. در سال ۲۰۱۶، رئیسجمهور باراک اوباما مدال آزادی را به همیلتون اهدا کرد و گفت: «الگوی او بازتابی از روحیه اکتشاف آمریکایی است که در هر دختر و پسر کوچکی وجود دارد که میدانند نگاه به فراسوی آسمانها، نگاهی به درون خود ماست.»
اگرچه کارهای همیلتون در خارج از جامعه علمی چندان شناختهشده نیست، اما دستاوردهای او با معرفی فیگور لگویی مارگارت همیلتون در سال ۲۰۱۷ در مجموعه «زنان ناسا» گرامی داشته شده است. این فیگور او را بهصورت قهرمانی کوچک با موهای پرپشت و عینکدار نشان میدهد که کدهای آپولو در کنار او از قدش بلندتر هستند. موزه ملی هوا و فضا اکنون نمونههای اولیه این فیگورها را در اختیار دارد. مهندسان نرمافزار معمولاً بهعنوان چهرههای شجاع شناخته نمیشوند، اما همیلتون با شجاعتی که برای قهرمانی لازم است بیگانه نبود. او به یاد میآورد که «بیباک بودم، حتی وقتی کارشناسان میگفتند: نه، این منطقی نیست. کسی باور نمیکرد. چیزی بود که رؤیایش را داشتیم، اما واقعی شد.»




