لغة البرمجة الموجَّهة للأعمال (COBOL) هي لغة برمجة عالية المستوى، تُشبه اللغة الإنجليزية، ومحوَّلة برمجيًا، تم تطويرها خصيصًا لتلبية احتياجات معالجة بيانات الأعمال.
تم تصميم لغة COBOL مع مراعاة تحقيق أقصى قدر من المرونة؛ إذ إن أسلوبها المطوَّل يُتيح للمبرمجين استخدام لغة برمجة مقروءة وسهلة الصيانة، وقادرة على العمل عبر أجهزة الكمبيوتر المركزي وأنظمة التشغيل. في الواقع، كانت من أوائل لغات البرمجة التي قام كلٌّ من المعهد الوطني الأمريكي للمعايير (ANSI) والمنظمة الدولية للتوحيد القياسي (ISO) بتوحيدها.
من أهم أبرز نقاط قوة COBOL هي دعمها القوي لعمليات الحساب العشري الثابتة ذات الدقة العالية، وهي ميزة لا تتوافر بالضرورة في كثير من لغات البرمجة التقليدية. ساعدت هذه القدرة على تمييز COBOL ودفع تبنيها من قِبَل العديد من المؤسسات المالية الكبرى.
على الرغم من أن COBOL تُعد نظامًا قديمًا، فإن العديد من الهيئات الحكومية ومؤسسات القطاع الخاص ما زالت تستخدمها لتشغيل التطبيقات المالية والإدارية وتطبيقات الأعمال. في الواقع، إن التكوين الأمرِي والإجرائي، وكذلك الكائني في إصدارات COBOL الأحدث، يشكِّل الأساس لأكثر من 40% من أنظمة الخدمات المصرفية عبر الإنترنت.1
كما تدعم COBOL ما نسبته 80% من معاملات بطاقات الائتمان المباشرة، وتُدير 95% من جميع معاملات أجهزة الصرَّاف الآلي، وتشغِّل الأنظمة التي تولِّد أكثر من 3 مليارات دولار من المعاملات التجارية يوميًا.1 وبفضل استقرارها الفائق وقدرتها العالية على المعالجة، ما زالت تؤدي دورًا محوريًا في مساعدة المؤسسات في الحفاظ على التطبيقات والبرامج ضمن البنى الحالية.
النشرة الإخبارية الخاصة بالمجال
ابقَ على اطلاع دومًا بأهم—اتجاهات المجال وأكثرها إثارة للفضول—بشأن الذكاء الاصطناعي والأتمتة والبيانات وغيرها الكثير مع نشرة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.
سيتم تسليم اشتراكك باللغة الإنجليزية. ستجد رابط إلغاء الاشتراك في كل رسالة إخبارية. يمكنك إدارة اشتراكاتك أو إلغاء اشتراكك هنا. راجع بيان خصوصية 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.
وفيما يلي أقسام COBOL:
قسم التعريف هو القسم الأول لبرنامج 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 Compilers family) بترجمة البرامج إلى لغة الآلة بحيث يمكن لوحدة المعالجة المركزية في الكمبيوتر فهمها وتنفيذها.
تنفيذ البرنامج. عندما يتم تجميع البرنامج، يمكن للمبرمج تنفيذه على النظام المستهدف. بافتراض عدم وجود أخطاء، يتَّبِع البرنامج منطق معالجة البيانات المحدد في قسم الإجراءات لمعالجة البيانات. وعادةً ما تستلزم عملية التنفيذ قراءة البيانات من الملفات وقواعد البيانات، وإجراء العمليات الحسابية أو عمليات التحول للبيانات ثم كتابة النتائج إلى الملفات أو قواعد البيانات.
تصحيح أخطاء البرنامج (إذا لزم الأمر). إذا كانت هناك أي أخطاء أو ثغرات في البرنامج، فيجب على المبرمجين تحديدها وإصلاحها (عملية تُسمَّى التصحيح). ويمكن أن يؤدي الاعتماد على أدوات وتقنيات تصحيح الأخطاء إلى تبسيط هذه العملية.
على الرغم من أنها أصبحت أقل شهرة مقارنةً باللغات الحديثة مثل Python وJava وJavaScript، فإن COBOL في السابق كانت اللغة الأكثر استخدامًا في برمجة تطبيقات الأعمال. مع ذلك، يظل تطوير COBOL جزءًا عمليًا وحيويًا من البنية التحتية التقنية العالمية، خاصةً بالنسبة إلى المؤسسات المصرفية وشركات التأمين والوكالات الحكومية.
كما يظهر من قدرتها على الاستمرار، يمكن لبرمجة COBOL أن تقدِّم العديد من الفوائد للمؤسسات التي تختار استخدامها، رغم النقص النسبي في عدد مبرمجي COBOL1، بما في ذلك:
تشتهر COBOL بأدائها المستقر والموثوق به في التطبيقات ذات المهام الحساسة. تميل الأنظمة المكتوبة بلغة COBOL إلى تحقيق وقت تشغيل طويل ونادرًا ما تواجه أعطالًا، وهو أمر حيوي لاستمرار عمليات المؤسسات المالية والخدمات الحكومية دون انقطاع.
يمكن للمطورين توسيع تطبيقات COBOL لمعالجة أعباء العمل المتزايدة دون تغييرات كبيرة في قاعدة الكود، ما يُتيح للمؤسسات تنمية أنظمتها القائمة على COBOL بالتوازي مع نمو أعمالها ودون الحاجة إلى إعادة كتابة متكررة أو الانتقال إلى لغات أخرى.
توفِّر لغة COBOL قدرات استثنائية لمعالجة الملفات. ويمكنها التعامل مع بيانات المعاملات المعقدة وكبيرة الحجم ودعم عدة طرق للوصول إلى الملفات، بما في ذلك المعالجة المتسلسلة والمفهرسة والنسبية للملفات. تجعل متانة COBOL في أتمتة العمليات منها الخيار الأمثل لمهام الدفعات، مثل معالجة المعاملات المالية، وإدارة قواعد البيانات، وإنشاء التقارير.
يمكن لأنظمة COBOL الحالية التفاعل والتكامل مع لغات وتقنيات أخرى مثل HTML وJSON وXML والذكاء الاصطناعي التوليدي2. من خلال تحديثات التحديث والتطوير، أصبحت COBOL أيضًا قادرة على التفاعل مع الخدمات الافتراضية والسحابية، مثل Amazon Web Services (AWS) وMicrosoft Azure وIBM Cloud، وقواعد بيانات SQL، والبنى التحتية الحديثة لعمليات التطوير.
IBM Power هي مجموعة من الخوادم تعتمد على معالجات IBM Power وقادرة تشغيل IBM AIX وIBM i وLinux.
تُعَد IBM Cloud منصة سحابية مؤسسية مصممة للصناعات المنظمة، تقدِّم حلولًا آمنة وهجينة جاهزة للذكاء الاصطناعي.
أطلق العنان للقدرات الجديدة وحفِّز مرونة الأعمال من خلال خدمات الاستشارات السحابية من IBM. اكتشِف كيفية المشاركة في إنشاء الحلول وتسريع التحول الرقمي وتحسين الأداء من خلال استراتيجيات السحابة الهجينة والشراكات مع الخبراء.