في بداية جائحة كوفيد-19، أعلن حاكم ولاية نيو جيرسي عن اعتراف غير عادي: نفاد مطوري لغة COBOL لديه. كانت أنظمة الولاية للتأمين ضد البطالة مكتوبة بلغة البرمجة التي يبلغ عمرها 60 عامًا وكانت بحاجة إلى تحديث للتعامل مع مئات الآلاف من المطالبات. ولكن المشكلة كانت أن قلة من موظفي الولاية يعرفون كيفية القيام بذلك. وتجاوزت الأزمة نيو جيرسي، حيث اعتمدت العديد من الولايات الأخرى على هذه الأنظمة المعقدة. تشير التقديرات إلى أن أوجه القصور في لغة COBOL كلفت الناتج المحلي الإجمالي للولايات المتحدة 105 مليارات دولار في عام 2020.
على الرغم من هذه الأزمة، لم تقم نيو جيرسي باستبدال نظامها بالكامل. بينما تضمن النظام الجديد تحسينات في جودة الحياة، إلا أنه ظل يعتمد على جهاز كمبيوتر رئيسي يعمل بلغة COBOL القديمة في الخلفية. هذا يوضح التحدي المستمر الذي تواجهه المؤسسات في التخلص من الأنظمة القديمة.
أهمية لغة COBOL المستمرة
لغة COBOL، أو لغة الأعمال المشتركة، هي لغة الكمبيوتر الأكثر اعتمادًا على نطاق واسع في التاريخ. بحلول عام 2000، كانت 80٪ من الـ 300 مليار سطر من التعليمات البرمجية مكتوبة بلغة COBOL. لا تزال قيد الاستخدام على نطاق واسع وتدعم عددًا كبيرًا من الأنظمة الحكومية، مثل سجلات المركبات والتأمين ضد البطالة. تقوم هذه الأنظمة بمعالجة ما يقرب من 3 تريليون دولار من المعاملات المالية يوميًا، وفقًا لتقارير الصناعة.
تاريخ لغة COBOL
تم اقتراح COBOL لأول مرة في عام 1959 من قبل لجنة ضمت معظم صناعة الكمبيوتر الأمريكية، بما في ذلك جريس هوبر. كان الهدف هو تحديد “مواصفات للغة أعمال مشتركة لأجهزة الكمبيوتر الرقمية الآلية” لحل مشكلة متزايدة وهي تكلفة البرمجة. كانت البرامج تُكتب خصيصًا لأجهزة معينة، وإذا أردت تشغيلها على جهاز آخر، فهذا يعني إعادة كتابتها بالكامل تقريبًا. وافقت وزارة الدفاع الأمريكية على دعم هذا المشروع.
تميز تصميم COBOL عن اللغات الأخرى في ذلك الوقت. كان من المفترض أن تكون مكتوبة باللغة الإنجليزية العادية بحيث يتمكن أي شخص، حتى غير المبرمجين، من استخدامها. تمت إضافة الترميز الرياضي الرمزي فقط بعد نقاش مطول. تسمح معظم إصدارات COBOL باستخدام مئات الكلمات، بما في ذلك “is” و “then” و “to”، لتسهيل الكتابة.
التحديات والانتقادات
ومع ذلك، واجهت COBOL انتقادات منذ البداية. أعرب العديد من علماء الكمبيوتر عن مخاوفهم بشأن قابليتها للقراءة. على الرغم من أن COBOL يمكن أن تترجم تعقيد سطر واحد من التعليمات البرمجية إلى شيء يمكن لأي شخص فهمه، إلا أن هذا التمييز تلاشى في البرامج التي تتكون من آلاف الأسطر. بالإضافة إلى ذلك، تم تنفيذ COBOL باستخدام عبارة “GO TO”، وهي آلية فرعية غير مشروطة أرسلت المبرمجين بسرعة من قسم إلى آخر في البرنامج، مما أدى إلى ما يسمى بـ “كود السباغيتي” الذي جعل التوثيق الذاتي عديم الفائدة.
انتقد إدجسير ديكسترا، عالم الكمبيوتر الشهير، لغة COBOL بشدة، قائلاً إن استخدامها “يقوض العقل” وأن تدريسها يجب أن يعتبر “جريمة”. كما انتقد عبارة “GO TO”، بحجة أنها تجعل البرامج شبه مستحيلة الفهم. كان هناك أيضًا قدر من الغطرسة، حيث غالبًا ما كانت COBOL تُعتبر لغة نفعية بحتة تهدف إلى حل مشاكل مملة.
لكن جان ساميت، إحدى المصممات الأصليات، رأت الأمر بشكل مختلف. قالت إن اللغة ببساطة لديها مهمة معقدة تتمثل في تمثيل أشياء معقدة، مثل الضمان الاجتماعي. ويرى آخرون أن COBOL الجيدة كانت ذاتية التوثيق، ولكن الكثير يعتمد على المبرمج المحدد. كما قال فريد غرونبرجر، عالم الرياضيات في شركة راند: “COBOL، في أيدي خبير، هي أداة جميلة – أداة قوية جدًا. COBOL، كما سيتم التعامل معها من قبل كاتب مبتدئ في مكان ما، ستكون فوضى بائسة.”
مستقبل COBOL والأنظمة القديمة
على الرغم من الانتقادات والتحديات، لا تزال COBOL حيوية للعديد من المؤسسات. تعتبر عملية استبدال الأنظمة القديمة المكتوبة بلغة COBOL معقدة ومكلفة ومحفوفة بالمخاطر. تتطلب هذه العملية تخطيطًا دقيقًا، واختبارًا شاملاً، وتدريبًا للموظفين.
تدرس العديد من الحكومات والشركات حاليًا خيارات مختلفة، بما في ذلك تحديث الأنظمة الحالية، أو إعادة كتابتها بلغات أحدث، أو استخدام حلول وسيطة. تعتبر تحديث الأنظمة الحالية خيارًا أقل تكلفة وأقل خطورة، ولكنه قد لا يوفر جميع الميزات والفوائد التي توفرها الأنظمة الجديدة. إعادة الكتابة هي خيار أكثر تكلفة وأكثر خطورة، ولكنه يمكن أن يوفر أداءً أفضل وقابلية للتوسع.
من المتوقع أن تتخذ العديد من المؤسسات قرارات بشأن مستقبل أنظمتها القديمة في الأشهر والسنوات القادمة. سيراقب الخبراء عن كثب التقدم المحرز في هذه الجهود، بالإضافة إلى التطورات في تقنيات البرمجة الجديدة. من المرجح أن يستمر الطلب على مطوري COBOL ذوي الخبرة على المدى القصير على الأقل، حيث تحتاج المؤسسات إلى صيانة الأنظمة الحالية وتحديثها.

