لم تخترع كلمة Bug.. فكيف جعلت عثة صغيرة أشهر خطأ في تاريخ الحاسوب؟
في الساعة 3:45 بعد ظهر 9 سبتمبر/ أيلول 1947، سجّل فريق يعمل على حاسوب Harvard Mark II ملاحظة مقتضبة في دفتر التشغيل: عثة عالقة في المرحّل رقم 70 داخل اللوحة F. أزيلت الحشرة، وأُلصقت بالصفحة، وكتب أحد أفراد الفريق بجانبها ما معناه: "أول حالة فعلية يُعثر فيها على Bug".
لم يكن أحد في الغرفة يخترع كلمة جديدة، ولم تكن العالمة الأميركية غريس هوبر أول من سمّى خطأ الحاسوب "Bug". النكتة نفسها لم تكن لتنجح لولا أن الكلمة كانت مستخدمة أصلًا للدلالة على الأعطال التقنية. ما حدث ذلك اليوم كان أكثر طرافة: المجاز أصبح حرفيًا، ووجد المهندسون هذه المرة Bug حقيقية داخل الآلة.
ومن هذه المفارقة الصغيرة خرجت واحدة من أشهر حكايات تاريخ الحوسبة، حتى أصبح من الصعب اليوم الفصل بين ما حدث في مختبر هارفارد عام 1947، وما أضافته إليه عقود من إعادة الرواية.
عثة بين آلاف المرحّلات
كان Harvard Mark II حاسوبًا كهروميكانيكيًا بُني بإشراف عالم الرياضيات هوارد أيكن ضمن مشروع للبحرية الأميركية. لم يكن في شكله قريبًا من الحاسوب الذي نعرفه اليوم؛ فقد كان جهازًا ضخمًا يعتمد على أكثر من 13 ألف مرحّل كهرومغناطيسي لتنفيذ العمليات والحسابات.
في التاسع من سبتمبر 1947، توقف الحاسوب الكهروميكانيكي العملاق عن العمل فجأةً. وبعد ساعات من التتبع الدقيق والبحث الميداني في أحشاء الآلة، لم يجد مهندسو الحاسوب خطأً في الشفرات أو تلفًا في الأسلاك، لكنّهم وجدوا جثة عثة ليلية صغيرة (Moth) محصورة بين نقاط التلامس بالمُرحِّل رقم 70.
ومع أنّ هذه العثة لم تكن السبب في ابتكار كلمة "Bug" كما يعتقد الكثيرون، إلا أنّها منحتها معناها المادي الحاسم، وحولتها إلى أحد أهم المفاهيم في تاريخ هندسة البرمجيات.
في صفحة سجل التشغيل المؤرخة في 9 سبتمبر 1947، تظهر عند الساعة 15:45 الملاحظة الخاصة بـ"Relay #70 Panel F"، وإلى جوارها العثة المثبتة بالشريط اللاصق.
ويؤكد المتحف الوطني للتاريخ الأميركي التابع لمؤسسة سميثسونيان أن مهندسي Mark II وجدوا الحشرة عالقة في أحد مكونات الجهاز، ثم ألصقوها في الدفتر.
كلمة Bug أقدم من الحاسوب
هنا تنقلب الحكاية الشائعة رأسًا على عقب. فالـBug لم تدخل لغة التكنولوجيا مع العثة، وإنما سبقتها بعقود طويلة.
يشير سميثسونيان إلى أن المهندسين الأميركيين كانوا يستخدمون كلمة Bug لوصف العيوب والمشكلات في الآلات منذ أكثر من قرن، وأن توماس إديسون استخدمها في سبعينيات القرن التاسع عشر في الحديث عن مشكلات تواجه الدوائر والأجهزة الكهربائية التي كان يعمل عليها.
الدليل الألطف موجود في دفتر Mark II نفسه. لو كانت كلمة Bug غير معروفة، لما كتب الفريق "أول حالة فعلية" من العثور عليها. كلمة "فعلية" هي النكتة كلها: كانوا يستخدمون Bug مجازًا للعطل، ثم وجدوا أمامهم حشرة يمكن لمسها.
ما هو دور غريس هوبر؟
يستحيل تقريبًا رواية قصة العثة اليوم من دون اسم غريس هوبر، لكن دورها يحتاج أيضًا إلى بعض التدقيق.
كانت هوبر بالفعل ضمن فريق الحوسبة في هارفارد، وعملت على Mark I ثم Mark II، ويقول متحف تاريخ الحاسوب إنها كانت حاضرة عندما عُثر على العثة، ثم ساعدت لاحقًا في جعل الحادثة شهيرة من خلال محاضراتها العامة.
لكن سميثسونيان يشير بوضوح إلى أن دفتر التشغيل الذي يحتوي على العثة لم يكن على الأرجح دفتر هوبر الشخصي، ولا يوجد ما يبرر الجزم بأنها هي التي عثرت على الحشرة أو ألصقتها بنفسها. الأدق أن الحادثة تخص فريق Mark II، فيما كان لهوبر الدور الأبرز في نقلها من ذاكرة المختبر إلى الذاكرة العامة لتاريخ الحوسبة.
غريس هوبر خلال عملها على آلة حوسبة مبكرة عام 1944، قبل حادثة العثة في Harvard Mark II بثلاث سنوات - غيتي
هناك شيء مادي يمكن رؤيته، وهناك مفارقة لغوية يفهمها أي شخص، وهناك دفتر يحتفظ باللحظة نفسها، ثم شخصية مثل غريس هوبر أعادت روايتها مرات كثيرة في مرحلة كانت فيها لغة الحواسيب ومفاهيمها لا تزال تتشكل.
الأخطاء البرمجية لا تُرى عادة؛ هي سطر خاطئ أو شرط ناقص أو عملية تحدث في توقيت غير متوقع. أما هنا فكان بالإمكان أن تشير إلى صفحة وتقول: هذه هي الـBug.
من عثة ميتة إلى ثغرات بمليارات الدولارات
تغيرت الحواسيب جذريًا منذ 1947، فيما بقيت الكلمة.
اليوم قد تكون الـBug خطأً في منطق البرنامج، أو قيمة لا يتوقعها المطور، أو مشكلة في تعامل أجزاء النظام مع بعضها، أو خللًا لا يظهر إلا عندما تتزامن عمليتان بطريقة معينة. وبعض الأخطاء يوقف البرنامج فورًا، فيما تظل أخطاء أخرى أخطر لأنها تسمح للنظام بالعمل مع إنتاج نتائج غير صحيحة.
لهذا أصبحت عملية Debugging، أي تتبع الأخطاء والعثور على أسبابها وإصلاحها، جزءًا أساسيًا من كتابة البرمجيات. وحتى مع صعود أدوات الذكاء الاصطناعي القادرة على توليد الأكواد، لم تختف الحاجة إلى اكتشاف الأخطاء ومراجعة ما تنتجه الآلة.
وقد تصبح الـBug أكثر من إزعاج للمستخدم. فالخطأ البرمجي يمكن أحيانًا أن يتحول إلى ثغرة أو إلى مشكلة تنتشر بين آلاف الأجهزة، كما يظهر في قصة "دودة موريس" التي أربكت الإنترنت عام 1988.
تعقّد مكونات الحواسيب جعل البحث عن الأعطال جزءًا ملازمًا لتطورها منذ المراحل الأولى – غيتي
بعد 79 عامًا، بقيت العثة في الصفحة وبقيت Bug في لغة التكنولوجيا. لم تخترع الحشرة الكلمة، ولم تخترعها غريس هوبر، وربما بالغت الرواية الشعبية حتى في الدور الذي لعبته العثة في عطل Mark II نفسه.
لكن ذلك كله لا يجعل القصة أقل جمالًا، وإنما يجعلها أدق. وسط آلاف الأخطاء التي رافقت تاريخ الحوسبة، حصل خطأ واحد على شيء لم تحصل عليه الأخطاء الأخرى: استطاع المهندسون أن يمسكوا به، ويلصقوه على صفحة، ويتركوه هناك كي يراه من يأتي بعدهم.
تظل هذه القصة تذكيرًا دائمًا لمهندسي البرمجيات في عصر الذكاء الاصطناعي والحواسيب الفائقة: مهما بلغت الآلات والأنظمة الرقمية من التعقيد والتطور، فإن تفصيلًا صغيرًا غير مرئي قد يكون كافيًا لتعطيل المنظومة بأكملها.