برمجياتقراءة دقيقتين

وفاة Margaret Hamilton صاحبة مصطلح هندسة البرمجيات عن 90 عامًا

المغزى

المغزى: أشهر دروسها لم يكن عن القمر بل عن خطأ قيل إنه لن يقع، فوقع بعد أشهر على يد خبير، وهو المنطق الذي تقوم عليه البرمجة الدفاعية حتى اليوم.

أعلن معهد MIT في 7 أكتوبر 2026 وفاة Margaret Hamilton في 30 سبتمبر 2026 عن 90 عامًا. ولم يذكر الإعلان سبب الوفاة. وقادت Hamilton فريق برمجيات الطيران في برنامج Apollo، الذي ضم أكثر من 400 شخص، وعملت في MIT من 1959 إلى منتصف السبعينيات، ونشرت أكثر من 130 بحثًا، ونالت وسام الحرية الرئاسي الأمريكي سنة 2016.

وهي من بدأت استخدام مصطلح “software engineering”، كي تُعامل البرمجيات بوصفها مهنة هندسية لها وزنها. وقالت في حوار مع صحيفة El País سنة 2018 إن التسمية كانت تُعد طريفة حين بدأت استخدامها، وإنها ظلت موضع مزاح لوقت طويل.

ومن أشهر القصص التي يرويها إعلان MIT قصة ابنتها Lauren. فقد كانت في الرابعة حين لعبت بمحاكي المركبة، فشغّلت برنامج ما قبل الإطلاق P01 في منتصف الرحلة، فانهار المحاكي. واقترحت Hamilton إضافة حماية في الكود تمنع ذلك في مهمة حقيقية، لكن اقتراحها رُفض، والحجة أن رواد الفضاء مدرَّبون تدريبًا عاليًا ولن يرتكبوا هذا الخطأ.

ثم في مهمة Apollo 8 سنة 1968، شغّل رائد الفضاء Jim Lovell برنامج P01 أثناء الرحلة، فاختفت بيانات الملاحة. أي أن الخطأ الذي قيل إنه مستحيل وقع بعد أشهر، على يد محترف.

وهذا ما يُعرف اليوم بالبرمجة الدفاعية (defensive programming). وهي لا تقوم على سوء الظن بالمستخدم، بل على أن الاحتمال الصغير يقع حتمًا إذا تكرر الموقف عددًا كافيًا من المرات.

وظهر أثر هذا المنهج في Apollo 11. فقبل الهبوط بلحظات أطلق الحاسب إنذار 1202، لأنه كان محمّلًا فوق طاقته. لكن فريقها كان قد بنى جدولة للمهام بحسب الأولوية، فأوقف الحاسب المهام الثانوية وواصل ما يلزم لإتمام الهبوط.

وما زال كود برمجيات الطيران في Apollo 11 منشورًا كاملًا على GitHub منذ 2015.

المصادر

  1. إعلان MIT الرسمي
  2. كود برمجيات الطيران في Apollo 11
  3. مقابلة MIT معها سنة 2009
  4. شرح NASA لإنذار 1202 لحظة الهبوط

من عدد الخميس 27 ربيع الآخر - 8 أكتوبر

أخبار ذات صلة

فرق ومنتجات

مقال Coding is NOT solved: كتابة الكود صارت رخيصة لكن امتلاكه وتحمّل مسؤوليته لم يصبحا كذلك

من يقول إن البرمجة انحلّت يحسب تكلفة كتابة الكود، وهي أصغر بند. أما الصيانة والاعتمادية والأمان وتحمّل نتيجة الخطأ فما زالت على عاتق المهندس، وهي ما يُدفع له أجره.

18 ربيع الآخر - 29 سبتمبر

أخبار الخميس 27 ربيع الآخر - 8 أكتوبر