يجدر بي أن أعترف أنني منذ التحاقي بمجتمع البرمجيات منذ أكثر من عشرين سنة، مهندساً وباحثاً، صادفت مفاهيم وممارسات غريبة. ففي البرمجيات التي تعد فرعاً من الحاسب الآلي، أسرار لا يطلع عليها إلا أصحاب التخصص الدقيق فضلاً عن أصحاب المجالات الأخرى. ورغم أن البرمجيات مسؤولة اليوم عن تسيير الأعمال في قطاع البنوك وقطاع الاتصالات وغيرهما من القطاعات الخدمية، إضافة إلى الشبكات الاجتماعية والألعاب الإلكترونية، إلا أنها ظلت محاطة بهالة من الغموض، فمن النادر أن تجد من غير المتخصصين من يفهم عملها اليوم. من أغرب الأمور التي تعايش معها مجتمع البرمجيات، صعوبة قراءة ما يسمى بالشفرة البرمجية. فكل برنامج نستخدمه اليوم مكون من شفرة برمجية ينفذها الحاسوب بناء على ما يتلقاه من أوامر من المستخدم. فإذا ضغطت أيقونة فقد أطلقت أمراً، وإذا أغلقت ملفاً فقد أطلقت أمراً آخر، وهكذا. لكن الغريب أن أغلب الشفرات المصدرية التي يكتبها المبرمجون بمئات الآلاف من الأسطر لا يقرؤها أحد. ولذلك أسباب من أهمها أن اللغة التي تكتب بها البرمجيات معقدة على اختلاف أنواعها منذ أول لغة برمجية إلى اليوم. ومما يزيد الأمر غرابة، أن الشفرة المصدرية المكتوبة طبقاً لأفضل الممارسات هي الأكثر صعوبة عادة. تمثل صعوبة قراءة الشفرة البرمجية لغير المتخصصين حاجزاً يمنعهم من فهم أكبر وأعمق للعالم الرقمي. أما بالنسبة للمتخصصين، فإن مهمتهم لا تقل صعوبة، فهي أشبه بقارئ وجد صفحات رواية الحرب والسلام لتولستوي مبعثرة على الأرض وعليه أن يقرأها كلها من صفحات بلا أرقام أو فصول أو فهارس. لذلك لا يحب المبرمجون تولي مهمة إعادة كتابة برنامج كتبه غيرهم، خصوصاً إذا كتب بغير تعليقات توضيحية من كاتبه الأصلي. فمن الشائع أن يفضل المبرمجون -إذا سمح لهم بذلك- كتابة برنامج جديد لتحاشي العمل على برنامج كتبه غيرهم. تمثل قراءة الشفرة المصدرية مشكلة لفئات أخرى من المتخصصين أيضاً. فإضافة إلى المبرمجين، ومن هم أقل تخصصاً في البرمجة من الحاسوبيين ذوي الاختصاصات الدقيقة المختلفة، يجد الاقتصاديون والقانونيون والمهندسون، في مرحلة أو أخرى، حاجة إلى فهم أجزاء من العملية البرمجية لتنفيذ أعمالهم التخصصية. ومع أن مشكلة قراءة الشفرة البرمجية معروفة منذ فترة طويلة، ومع أن نمو حجم البرمجيات استجابة للطلب المتنامي عليها يزيد الأمر تعقيداً، فإن الحلول التي طرحت حتى الآن لم تجد ترحيباً يتناسب مع حجم المشكلة. وإذا كانت الجهود التي تبذل لترسية قواعد هندسية صارمة في صناعة البرمجيات تناسب موقعها من العالم اليوم مستمرة، فإن تحولاً جذرياً لم يطرأ حتى الآن ليغير من الواقع شيئاً. فما زالت البرمجيات تبنى على أسس هشة خارج الأدبيات الهندسية المعروفة.