لغة البرمجة الموجَّهة للأعمال (COBOL) هي لغة برمجة عالية المستوى، تُشبه اللغة الإنجليزية، ومحوَّلة برمجيًا، تم تطويرها خصيصًا لتلبية احتياجات معالجة بيانات الأعمال.
تم تصميم لغة COBOL مع مراعاة تحقيق أقصى قدر من المرونة؛ إذ إن أسلوبها المطوَّل يُتيح للمبرمجين استخدام لغة برمجة مقروءة وسهلة الصيانة، وقادرة على العمل عبر أجهزة الكمبيوتر المركزي وأنظمة التشغيل. في الواقع، كانت من أوائل لغات البرمجة التي قام كلٌّ من المعهد الوطني الأمريكي للمعايير (ANSI) والمنظمة الدولية للتوحيد القياسي (ISO) بتوحيدها.
من أبرز نقاط قوة COBOL دعمه القوي لعمليات الحساب العشري ذات الدقة العالية ذات النقطة الثابتة، وهي ميزة قد لا تكون متوافرة بشكل أصلي في العديد من لغات البرمجة التقليدية. وقد ساعدت هذه القدرة على تمييز COBOL وتعزيز اعتماده على نطاق واسع من قِبَل العديد من المؤسسات المالية الكبرى.
على الرغم من أن COBOL يُعَد نظامًا قديمًا، إلا إن العديد من المؤسسات الحكومية والقطاع الخاص لا تزال تعتمد عليه لتشغيل التطبيقات المالية والإدارية وتطبيقات الأعمال. في الواقع، يعتمد تصميم COBOL على البرمجة الإجرائية، مع دعم البرمجة القائمة على الكائنات في إصداراته الأحدث، ويشكِّل الأساس لما يزيد عن 40% من جميع أنظمة الخدمات المصرفية عبر الإنترنت.1
كما يدعم COBOL أيضًا 80% من معاملات بطاقات الائتمان التي تتم داخل المتاجر، ويعالج 95% من معاملات أجهزة الصراف الآلي، ويشغِّل أنظمة تولِّد أكثر من 3 مليارات دولار أمريكي من التجارة يوميًا.1 وبفضل استقراره العالي وقدرته على المعالجة، لا يزال يؤدي دورًا أساسيًا في مساعدة المؤسسات على تشغيل التطبيقات والبرامج في البنى التقنية الحالية.
للحفاظ على التوافق مع الأنظمة الأحدث، تعمل العديد من المؤسسات التي تستخدم الأنظمة القائمة على COBOL أو تفكِّر في استخدامها على تنفيذ تحديث COBOL، أو ما يُعرَف بعملية تحديث تطبيقات COBOL أو تحويلها. يمكن أن تساعد عملية التحديث في الحفاظ على منطق العمل الأساسي الذي يميز COBOL بقدرته على معالجة البيانات بكميات كبيرة مع الحفاظ على الموثوقية والاستقرار، مع تحسين التكامل مع المجموعات التقنية الحديثة.
في بعض الحالات، قد تتضمن عملية تحديث COBOL تحويل الكود إلى لغة برمجة أحدث. لكن التركيز يكون حصريًا على تحويل اللغة يتجاهل عنصر المنصة، أي البيئة التي يعمل عليها التطبيق ويتكامل معها. ويجب أن تتضمن استراتيجية التحديث الشاملة لـ COBOL هندسة على مستوى الأنظمة لمعالجة إعادة تصميم بنى البيانات، واستبدال بيئات التشغيل، وضمان سلامة معالجة المعاملات، إلى جانب اعتبارات المنصة الأخرى.
ابقَ على اطلاع دائم على أبرز الاتجاهات في مجالات الذكاء الاصطناعي، والأتمتة، والبيانات، وغيرها الكثير من خلال رسالة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.
تم تطوير COBOL من قِبل مجموعة من المؤسسات الحكومية والتجارية يُعرَف باسم مؤتمر لغات أنظمة البيانات (CODASYL)، والذي تأسَّس عام 1959. تم تأسيس COBOL جزئيًا من لغة FLOW-MATIC، التي طوَّرتها رائدة علوم الكمبيوتر الدكتورة Grace Hopper، وقد جرى ابتكارها ضمن مبادرة لوزارة الدفاع الأمريكية تهدف إلى تطوير لغة برمجة قادرة على العمل عبر أنظمة تشغيل متعددة (Linux، وWindows، وUnix، z/OS، وغيرها) وبيئات الأجهزة المختلفة.
تم إصدار الإصدار الأول من لغة البرمجة COBOL عام 1960. وعلى الرغم من أن برمجة COBOL كانت مقصودة في الأصل كحل مؤقت، فإن وزارة الدفاع الأمريكية أدركت سريعًا أهميتها وألزمت شركات تصنيع أجهزة الكمبيوتر بتوفيرها.
في نهاية المطاف، جرى توحيد COBOL كلغة برمجة عام 1968، وبعد ذلك قام المبرمجون بإدخال عدة مراجعات وتحديثات، شملت COBOL-61 وCOBOL-68 وCOBOL-74 وCOBOL-85. كان الهدف من COBOL 2002 هو جعل تطبيقات COBOL أكثر توافقًا مع ممارسات تطوير البرمجيات الحديثة، من خلال إدخال ميزات البرمجة الموجَّهة للكائنات وغيرها من النماذج البرمجية المتقدمة إلى اللغة. غير أن هذا الإصدار عانى من ضعف الدعم وقلة إقبال المستخدمين على ميزاته الجديدة.
قدَّم COBOL 14 تغييرات جديدة، بما في ذلك استبدال نتائج الحسابات القابلة للنقل بأنواع بيانات IEEE 754، كما قدَّم المعيار الأحدث، COBOL 2023، مزيدًا من المزايا الجديدة التي تركِّز على تحسين قابلية التشغيل البيني مع الأنظمة الحديثة.
يحتوي برنامج COBOL على بنية هرمية تتألف من الأقسام الرئيسية، والأقسام الفرعية، والفقرات، والجمل، والأفعال، وسلاسل الحروف. تُتيح الطبيعة التقسيمية في نظام COBOL (المكوَّن من أربعة أقسام) فصلًا واضحًا بين المهام داخل برامج COBOL.
وفيما يلي أقسام COBOL:
قسم التعريف (Identification Division) هو أول أقسام برنامج COBOL، وهو قسم إلزامي. ويخصِّص اسمًا للبرنامج ويوفر معلومات تعريفية أخرى مثل اسم المؤلف، وتاريخ كتابة البرنامج، ووصفًا موجزًا لغرضه.
تحتاج برامج COBOL إلى فقرة PROGRAM-ID لتعمل ضمن قسم التعريف. على سبيل المثال:
يحدد قسم البيئة بيئة التشغيل الخاصة بالبرنامج، ويحدِّد موارد الإدخال والإخراج التي سيستخدمها. وينقسم إلى قسمين.
وليس من المستغرب أن قسم التكوين يوفّر معلومات حول تكوين النظام، بما في ذلك ميزات الكمبيوتر والمحوِّل البرمجي المستخدمان. ومع ذلك، وبفضل التطورات في أدوات التحويل البرمجي، أصبحت أقسام التكوين شبه متقادمة في أنظمة COBOL الحديثة؛ إذ يمكنها عادةً الاستنتاج والتكيف تلقائيًّا مع بيئتها.
يحدِّد قسم الإدخال والإخراج الملفات والأجهزة المرتبطة التي يمكن للبرنامج التفاعل معها. يتضمن قسم FILE-CONTROL الذي يربط أسماء الملفات داخل البرنامج بالملفات الخارجية، وفقرة I-O-CONTROL التي تحتوي عادةً على معلومات تحسين أو ترتيب لعمليات الإدخال والإخراج.
يحتوي قسم البيانات على جميع تعريفات المتغيرات والملفات والثوابت الخاصة بالبرنامج. مثل قسم البيئة، يتم تقسيم البيانات إلى أجزاء فرعية.
يسرد قسم الملفات كل ملف سيقرأ منه البرنامج أو يكتب إليه. يحدِّد إدخال وصف الملف كل ملف ويصِف بنية السجلات في الملف.
يحدِّد قسم تخزين العمل المتغيرات التي تحتفظ بقيمها طوال فترة تشغيل البرنامج، بما في ذلك العدادات والمجمِّعات والثوابت وأي تخزين بيانات آخر غير متعلق بملفات الإدخال والإخراج.
تم تقديم قسم التخزين المحلي في الإصدارات اللاحقة من COBOL، ويحدِّد المتغيرات التي يتم تخصيصها عند نشر البرنامج أو الطريقة ويتم إلغاء تخصيصها عند الإنهاء، ما يجعل التخزين المحلي مفيدًا بشكل خاص للخوارزميات التكرارية والبرامج القابلة لإعادة الدخول.
أخيرًا، يحدِّد قسم الربط عناصر البيانات التي تنتقل من برنامج إلى آخر.
يحتوي قسم الإجراءات على الكود التنفيذي للبرنامج، وهو مقسَّم إلى فقرات وأقسام تنظِّم الكود إلى كتل برمجية لزيادة الوضوح وسهولة الصيانة.
يمكن أن يحتوي كل قسم في نظام COBOL على أقسام وفقرات، وهي تُشبه الأقسام والفقرات في اللغات البشرية. الأقسام هي تقسيمات منطقية مسمَّاة داخل كل قسم، تحتوي على فقرة واحدة أو أكثر، وتعمل كوحدات برمجية معيارية يمكن استدعاؤها داخل البرنامج.
الفقرات هي مجموعات من الجمل -أصغر وحدات قابلة للتنفيذ في برنامج COBOL- تؤدي وظيفة محددة ويتم التعرُّف عليها باسم فريد. تبدأ كل عبارة أو جملة في فقرة COBOL بفعل COBOL (مثل MOVE وDISPLAY وADD) يُشير إلى كيفية تنفيذ الكود.
الوحدة الأساسية وغير القابلة للتجزئة في لغة COBOL هي الحرف. سلاسل الأحرف هي أحرف أو تسلسلات من الأحرف المتجاورة التي تشكِّل كلمة COBOL أو قيمة نصية أو مُدخل تعليق، ومحاطة بفواصل.
يتميز تركيب COBOL الشبيه باللغة الإنجليزية بأنه موثَّق ذاتيًا وقريب من كونه واضحًا بذاته، مع التركيز على التفصيل والوضوح في القراءة. تميِّز هذه الخاصية COBOL عن اللغات الأكثر اختصارًا، مثل FORTRAN. كما يمكنها دعم عدة أنواع من البيانات (مثل البيانات الرقمية، والأبجدية الرقمية، والمعدَّلة)، لكنها تعتمد على بعض العناصر التركيبية الإضافية لتنفيذ البرنامج.
الجمل هي أسطر من كود COBOL تتكون من عبارة واحدة أو أكثر وتنتهي بنقطة. أما العبارات فهي التعليمات الفردية التي تنسِّق عمليات معالجة الملفات والبيانات، باستخدام أفعال مثل ADD وSTART وDISPLAY وWRITE، وغيرها.
على سبيل المثال، تقوم عبارات MOVE بنقل البيانات من جزء من ذاكرة النظام إلى آخر؛ وتنفِّذ عبارات COMPUTE العمليات الحسابية وتخزِّن النتائج كمتغيّرات؛ أما عبارات READ فتسترجع السجلات من ملفات الإدخال.
العبارات الشرطية هي عناصر العبارات التي يمكن أن تعدِّل أو تؤهِّل كيفية تنفيذ العبارة. تحدِّد عبارة picture مثل "PIC 9(3)"، على سبيل المثال، متغيرًا رقميًا يمكن أن يستوعب حتى ثلاثة أرقام.
تُتيح هياكل التحكم التكرارية والشرطية في COBOL للنظام التحكم في تدفق البيانات.
يتم استخدام تراكيب IF … ELSE في COBOL لتنفيذ المنطق الشرطي، حيث يُتيح البرنامج تنفيذ كتل مختلفة من التعليمات بناءً على تقييم حالة النظام. كما يتم استخدام تعليمة PERFORM لتنفيذ فقرة أو قسم معين عددًا محددًا من المرات أو حتى تحقُّق شرط معين، بشكل مشابه للحلقات التكرارية في لغات البرمجة الأخرى.
تُتيح COBOL تسهيل البرمجة المعيارية من خلال استخدام البرامج الفرعية، التي يتم تشغيلها من البرنامج الرئيسي أو من برامج فرعية أخرى. بينما يتم تعريف البرامج الفرعية الداخلية ضمن نفس الكود المصدر لبرنامج الاستدعاء (المكتوب في قسم الإجراءات)، يتم تجميع البرامج الفرعية الخارجية بشكل منفصل وربطها عند الحاجة.
تختلف عملية بناء برنامج باستخدام COBOL باختلاف الظروف التنظيمية. ومع ذلك، غالبًا ما تتضمن بعض الخطوات الأساسية.
كتابة البرنامج. إذا أراد مهندس برمجيات أن يكتب برنامج "Hello, world!" الأساسي، على سبيل المثال، فإنه سيكتب:
ويمكن أن يساعد استخدام بيئة تطوير متكاملة (IDE) متوافقة مع COBOL أو محرِّر نصوص على تسهيل العملية.
تجميع البرنامج. مثل لغات البرمجة الأخرى عالية المستوى، يجب تحويل كود COBOL برمجيًا قبل تنفيذه. تعمل مجمِّعات COBOL (مثل GnuCOBOL وMicro Focus وعائلة IBM COBOL Compiler) على ترجمة البرامج إلى لغة الآلة بحيث يمكن لوحدة المعالجة المركزية في الكمبيوتر فهمها وتنفيذها.
تنفيذ البرنامج. عندما يتم تجميع البرنامج، يمكن للمبرمج تنفيذه على النظام المستهدف. بافتراض عدم وجود أخطاء، يتَّبِع البرنامج منطق معالجة البيانات المحدد في قسم الإجراءات لمعالجة البيانات. وعادةً ما تستلزم عملية التنفيذ قراءة البيانات من الملفات وقواعد البيانات، وإجراء العمليات الحسابية أو عمليات التحول للبيانات ثم كتابة النتائج إلى الملفات أو قواعد البيانات.
تصحيح أخطاء البرنامج (إذا لزم الأمر). إذا كانت هناك أي أخطاء أو ثغرات في البرنامج، يجب على المبرمجين تحديدها وإصلاحها (عملية تُسمَّى التصحيح). ويمكن أن يؤدي الاعتماد على أدوات وتقنيات تصحيح الأخطاء إلى تبسيط هذه العملية.
على الرغم من أنها أصبحت أقل شهرة مقارنةً باللغات الحديثة مثل Python وJava وJavaScript، فإن COBOL في السابق كانت اللغة الأكثر استخدامًا في برمجة تطبيقات الأعمال. مع ذلك، يظل تطوير COBOL جزءًا عمليًا وحيويًا من البنية التحتية التقنية العالمية، خاصةً بالنسبة إلى المؤسسات المصرفية وشركات التأمين والوكالات الحكومية.
كما يتضح من استمرارية استخدام COBOL على مدى السنوات، فإنه يوفر العديد من المزايا (رغم النقص النسبي في عدد مطوري COBOL1)، ومنها:
تشتهر COBOL بأدائها المستقر والموثوق به في التطبيقات ذات المهام الحساسة. تميل الأنظمة المكتوبة بلغة COBOL إلى تحقيق وقت تشغيل طويل ونادرًا ما تواجه أعطالًا، وهو أمر حيوي لاستمرار عمليات المؤسسات المالية والخدمات الحكومية دون انقطاع.
يمكن للمطورين توسيع تطبيقات COBOL لمعالجة أعباء العمل المتزايدة دون تغييرات كبيرة في قاعدة الكود، ما يُتيح للمؤسسات تنمية أنظمتها القائمة على COBOL بالتوازي مع نمو أعمالها ودون الحاجة إلى إعادة كتابة متكررة أو الانتقال إلى لغات أخرى.
توفِّر لغة COBOL قدرات استثنائية لمعالجة الملفات. ويمكنها التعامل مع بيانات المعاملات المعقدة وكبيرة الحجم ودعم عدة طرق للوصول إلى الملفات، بما في ذلك المعالجة المتسلسلة والمفهرسة والنسبية للملفات. تجعل متانة COBOL في أتمتة العمليات منها الخيار الأمثل لمهام الدفعات، مثل معالجة المعاملات المالية، وإدارة قواعد البيانات، وإنشاء التقارير.
من خلال تحديثات التحديث والتطوير، يمكن لبرنامج COBOL التواصل مع تطبيقات الويب الحديثة والخدمات المصغرة، وتبادل البيانات باستخدام تنسيقات حديثة، والحفاظ على التوافق مع قواعد البيانات، والتكامل مع الخدمات الافتراضية والسحابية مثل Amazon Web Services (AWS) وMicrosoft Azure وIBM Cloud، بالإضافة إلى التكامل مع أدوات ومهام سير عمل عمليات التطوير، ودعم معايير الأمن الحديثة مثل تشفير TLS أو OAuth.
IBM zSystems هي مجموعة من أجهزة z/Architecture الحديثة التي تشغل برامج z/OS و Linux و z/VSE و z/TPF و z/VM و zSystems.
صُمِّمت للتعامل مع أحمال التشغيل الحساسة، مع ضمان الأمان والموثوقية والتحكم في كامل البنية التحتية لتكنولوجيا المعلومات لديك.
تسريع التحول الرقمي من خلال تحديث تطبيقات الكمبيوتر المركزي لديك باستخدام IBM.
1 Serain, JD. “The World Depends on 60-Year-Old Code No One Knows Anymore”, PCMag, December 2023.