زبان برنامه نویسی Cobol چیست؟ — راهنمای مقدماتی و به زبان ساده

۳۶۹۴ بازدید
آخرین به‌روزرسانی: ۲۴ اردیبهشت ۱۴۰۲
زمان مطالعه: ۲۴ دقیقه
دانلود PDF مقاله
زبان برنامه نویسی Cobol چیست؟ — راهنمای مقدماتی و به زبان ساده

COBOL یکی از قدیمی‌ترین زبان‌های برنامه نویسی به حساب می‌آید. زبان برنامه نویسی COBOL به همراه زبان اسمبلی IBM/360 و FORTRAN در زمانی استفاده می‌شدند که هنوز رشته‌ای به نام علوم کامپیوتر در دانشگاه‌ها وجود نداشت. در دهه ۶۰ شمسی (دهه ۸۰ میلادی) به دانشجویان گفته می‌شد که زبان COBOL منسوخ شده است و دیگر کسی از آن استفاده نمی‌کند. اما اکنون در سال ۱۴۰۰، دولت‌ها و بانک‌های آمریکا همچنان سخت به دنبال برنامه نویسیان COBOL هستند. تا جایی که در سال گذشته فیلیپ مورفی فرماندار نیوجرسی در تلویزیون از برنامه نویسیان COBOL تقاضای کمک می‌کند. بنابراین، زبان برنامه نویسی کوبول همچنان کاربرد دارد. در این مقاله به معرفی زبان COBOL و شرح نکات پیرامون آن پرداخته شده است. در ابتدا به این سوال پاسخ داده می‌شود که زبان برنامه نویسی COBOL چیست ؟

فهرست مطالب این نوشته
997696

زبان برنامه نویسی COBOL چیست ؟

COBOL مخفف عبارت «Common Business-Oriented Language» به معنی «زبان مشترک تجارت محور» است. COBOL زبان برنامه نویسی است که به طور عمده بر حل یک مسئله تجاری تمرکز دارد. نحو زبان COBOL به زبان انگلیسی معمولی بسیار نزدیک است. زبان برنامه نویسی COBOL اصولاً در سیستم‌های تجاری، مالی و مدیریتی سازمان‌های خصوصی و دولتی مورد استفاده قرار می‌گیرد.

همچنین، زبان COBOL در حل بسیاری از مسائل پردازش داده به کار گرفته می‌شود. COBOL دستوری، رویه‌گرا و از سال ۱۳۸۰ شمسی (۲۰۰۲ میلادی) یک زبان شی‌گرا به حساب می‌آید. COBOL یک زبان برنامه نویسی قدیمی است که همچنان به میزان گسترده‌ای در کاربردهای مستقر روی کامپیوترهای بزرگ (Mainframe) مثل کاربردهای پردازش دسته‌ای و تراکنشی به کار گرفته می‌شود.

زبان برنامه نویسی COBOL توسط گروهی خلق شده است که از سوی وزارت دفاع ایالات متحده آمریکا حمایت می‌شدند. این گروه «کمیته زبان‌های سیستم‌های داده» (Committee on Data Systems Languages) نام دارد که با سرنام CODASYL نیز شناخته می‌شوند. COBOL به عنوان یک زبان مشترک با گرایش تجاری تعریف می‌شود که با اقتباس از زبان‌های FLOWMATIC متعلق به Grace Hopper و سایر زبان‌ها شامل AIMACO متعلق به Univac و COMTRAN متعلق به IBM به وجود آمده است. زبان حاصل شده تحت بازبینی‌های بیشتری قرار گرفت، اما خیلی زود به یک زبان برنامه نویسی برجسته برای ساخت سیستم‌های تجاری بدل شد و از آن زمان، COBOL همچنان به عنوان یک زبان برتر جایگاه خود را در این حوزه حفظ کرده است.

تصویر مربوط به بخش چیستی COBOL در مطلب جامع و کاربردی زبان برنامه نویسی COBOL چیست ؟ زبان کوبول چیست ؟

بسیاری از شرکت‌ها شامل IBM ،UPS و Cigna همچنان از COBOL استفاده می‌کنند. نحو (سینتکس) COBOL بسیار ساده طراحی شده است تا سایر افراد در سازمان‌ها و کسب‌و‌کارها که برنامه نویس نیستند هم بتوانند کدهای COBOL را بخوانند و بفهمند. هدف از خلق زبان برنامه نویسی COBOL ارائه یک زبان صریح بوده است، زیرا به عقیده سازندگانش، نباید جای هیچ حدس و گمانی وجود داشته باشد. البته زبان برنامه نویسی COBOL منتقدانی هم داشته که منجر به کاهش و توقف آموزش COBOL در دانشگاه‌ها شده است.

COBOL همچنان زبانی فاتح در تجارت باقی مانده است. اما، یافتن افرادی با دانش و مهارت زبان برنامه نویسی COBOL می‌تواند چالش برانگیز باشد. چرا که، یک کامپیوتر Mainframe پلتفرم دشواری برای یادگیری به حساب می‌آید و علتش هزینه‌های بالا است. به گفته یک مهندس کامپیوتر در شرکت Cigna، افراد پولی برای پرداخت اجاره یک کامپیوتر Mainframe ندارند تا بتوانند زبان COBOL را بیاموزند. تعداد کمی از آموزشگاه‌ها دوره‌هایی برای آموزش کامپیوترهای Mainframe و زبان COBOL برگزار می‌کنند.

تصویر یک کامپیوتر Mainframe قدیمی که با استفاده از زبان برنامه نویسی COBOL برای آن اپلیکیشن های تجاری توسعه داده می‌شد.

چرا COBOL همچنان یک زبان برتر به حساب می‌آید؟

در مقایسه با زبان‌های برنامه نویسی رایج امروزی، COBOL زبانی متفاوت و در برخی موارد بسیار محدود است. امکان تخصیص حافظه پویا در COBOL وجود ندارد، دسترسی به قابلیت‌های سطح پایین سیستم عامل یا یک معماری کامپیوتر خاص به سادگی امکان‌پذیر نیست. رایج‌ترین فرم‌های زبان COBOL نمی‌توانند از بازگشت (Recursion) استفاده کنند. COBOL به هیچ عنوان برای ایجاد یک کامپایلر مناسب نیست. یک دانشجوی علوم کامپیوتر در مواجهه با COBOL‌ وحشت‌زده خواهد شد.

علت ضعیف دانستن زبان COBOL اشتباه در دسته‌بندی است. در واژه‌شناسی امروزی، COBOL در واقع یک «زبان دامنه مشخص» (Domain-Specific Language) به حساب می‌آید که مختص حوزه خاصی از برنامه نویسی تجاری است. در واقع، زبان برنامه نویسی COBOL در کاربرد برنامه نویسی تجاری یک فناوری برتر به حساب می‌آید. حال در ادامه، به علت برتری COBOL نسبت به زبان‌های همه‌منظوره در حوزه برنامه نویسی تجاری پرداخته شده است.

دلایل برتری COBOL نسبت به سایر زبان‌ها در برنامه نویسی تجاری

در این بخش، دلایل برتری COBOL و سازگاری بهتر آن با برنامه نویسی تجاری نسبت به زبان‌های برنامه نویسی همه‌منظوره فهرست شده‌اند.

  • یک زبان مبتنی بر کسب و کار، نیاز به تعریف، مدیریت و دستکاری داده‌های ناهمگن دارد. برنامه‌های تجاری داده‌های رشته‌ای، ممیز شناور، عدد صحیح و دهدهی ثابت و با طول متغیر را با ساختارهای رکوردی پیچیده اغلب با اجزای متغیر ادغام می‌کنند. برنامه نویسان و طراحان پایگاه داده با برخی از این مسائل آشنا هستند و ابزارهای نگاشت شی رابطه‌ای به طور دائم با این پیچیدگی‌ها مواجه می‌شوند.
  • داده‌های تجاری و مالی باید با استفاده از نوع داده‌های اعشاری حقیقی مدیریت شوند. سیستم‌های حسابداری باید تا آخرین رقم اعشار درست باشند و دقیقاً همان نتایج محاسبات دستی را بازتولید کنند. کار با اعداد متعارف با ممیز شناور اغلب به پیچدگی‌ها و خطاهایی منجر می‌شوند.
  • یک زبان مبتنی بر کسب و کار نیاز به دسترسی و دستکاری مقادیر بزرگی از داده‌های با ساختار رکوردی دارد که به صورت خارجی نگهداری می‌شوند.

البته هیچ یک از موارد فوق فراتر از قابلیت‌های زبان‌های برنامه نویسی همه‌منظوره نیستند. اما، این قابلیت‌ها در COBOL به صورت بومی و محلی وجود دارند. می‌توان بیش از این نیز به بحث پیرامون دلایل نیاز به COBOL پرداخت. اما حقیقت این است که همین حالا چندین میلیارد خط کد COBOL در حال اجرا شدن هستند و تلاش‌ها برای مهاجرت از COBOL به یک زبان دیگر به جایی نرسیده و ناموفق بوده‌اند.

تاریخچه زبان برنامه نویسی COBOL

در این بخش، تاریخچه زبان برنامه نویسی COBOL به طور جامع شرح داده شده است. تاریخچه زبان برنامه نویسی COBOL طولانی و پوشش کامل آن از حوصله این مقاله خارج است. بنابراین، ابتدا خلاصه‌ای در قالب فهرستی از کل تاریخچه COBOL ارائه و سپس پیش‌زمینه شکل‌گیری زبان COBOL شرح داده شده است.

همچنین در ادامه بخش تاریخچه COBOL، به اتفاقات پیرامون انتشار اولین نسخه زبان COBOL و دو نسخه پایانی آن پرداخته خواهد شد.

تصویری از اعضای کمیته سازنده COBOL در بخش تاریخچه زبان برنامه نویسی COBOL

خلاصه‌ای از تاریخچه COBOL

در این بخش به طور خلاصه تاریخچه زبان برنامه نویسی COBOL فهرست شده است:

  • COBOL برای اولین بار در سال ۱۳۳۸ خورشیدی (۱۹۵۹ میلادی) با نام «COBOL 60» توسط کمیته CODASYL طراحی شده است.
  • در اواخر ۱۳۴۰ شمسی (۱۹۶۲ میلادی) شرکت IBM اعلام کرد که COBOL زبان اصلی توسعه در این شرکت خواهد بود.
  • در نسخه سال ۱۳۴۳ (۱۹۶۵ میلادی) به نام «COBOL 65» امکاناتی برای مدیریت فایل‌ها و جداول ذخیره انبوه ارائه شد.
  • در سال ۱۳۴۵ معادل ۱۹۶۸ میلادی، COBOL توسط ANSI (موسسه استانداردهای ملی آمریکا) به عنوان زبان استاندارد برای استفاده تجاری مورد تایید قرار گرفت.
  • تا سال ۱۳۴۷ (۱۹۷۰ میلادی) COBOL‌ به یک زبان پراستفاده در سطح جهان تبدیل شده بود.
  • در سال ۱۹۸۲ میلادی استاندارد ISO اولین گروه کاری SC5 را به نام WG4 COBOL راه‌اندازی کرد.
  • در سال ۱۹۸۵، گروه کاری شماره چهار ISO نسخه پیشنهادی ANSI را پذیرفت.
  • در سال ۲۰۰۲، اولین نسخه شی‌گرا از زبان برنامه نویسی COBOL منتشر شد.
  • در سال ۲۰۱۲، نظرسنجی‌های دنیای کامپیوتر نشان می‌دادند که ۶۰ درصد سازمان‌ها همچنان از زبان برنامه نویسی COBOL استفاده می‌کنند.

تاریخچه کوبول: پیش‌زمینه

در اواخر دهه ۱۳۳۰ خورشیدی (۱۹۵۰ میلادی) کاربران و شرکت‌های تولید کننده کامپیوتر نگرانی‌هایی بابت افزایش هزینه‌های برنامه نویسی و پیاده‌سازی نرم‌افزار داشتند. یک نظرسنجی در سال ۱۳۳۸ نشان می‌داد که برنامه نویسی در هر چیدمان پردازش داده، به طور میانگین ۸۰۰ هزار دلار هزینه در بر داشته است.

همچنین، ترجمه برنامه‌ها برای اجرا روی سخت‌افزارهای جدید نیز هزینه‌ای معادل ۶۰۰ هزار دلار در پی داشت. در دورانی که زبان‌های برنامه نویسی جدید با سرعت فزاینده‌ای در حال تکثیر بودند، همان نظرسنجی نشان می‌داد که اگر از یک «زبان مشترک مبتنی بر کسب و کار» استفاده شود، تحول و دگرگونی بسیار کم‌هزینه‌تر و سریع‌تر انجام خواهد شد.

در آغاز سال ۱۳۳۸ خورشیدی، یک دانشمند کامپیوتر به نام Mary K. Hawes در شرکت Burroughs جلسه‌ای را با نمایندگان دانشگاهی، کاربران کامپیوتر و تولیدکنندگان در دانشگاه پنسیلوانیا با محوریت زبان‌های مشترک تجاری تشکیل داد. در این جلسه، از وزارت دفاع برای ایجاد یک زبان تجاری مشترک درخواست حمایت شد. هیات نمایندگان، مدیر واحد تحقیقات سیستم‌های داده در وزارت دفاع، چارلز فیلیپس، را در این خصوص مجاب کردند.

تصویری از طراحان زبان برنامه نویسی COBOL در حال کار روی ساخت آن

در آن زمان، وزارت دفاع آمریکا ۲۲۵ کامپیوتر داشت و ۱۷۵ کامپیوتر جدید را هم سفارش داده بود و بیش از ۲۰۰ میلیون دلار برای برنامه‌های اجرا شده روی این کامپیوترها هزینه کرده بود. استفاده از برنامه‌های قابل حمل می‌توانست به صرفه‌جویی در وقت و هزینه منجر شود. به این ترتیب، چارلز فیلیپس حمایت مالی را پذیرفت و به هیات نمایندگان دستور داد پیش‌نویس دستور کار را آماده کنند.

تاریخچه کوبول: COBOL 60

در خرداد سال ۱۳۳۸ جلسه‌ای در پنتاگون برای بحث پیرامون ساخت زبان تجاری مشترک برگزار شد. دغدغه وزارت دفاع این بود که این زبان بتواند یک برنامه پردازش داده واحد را روی کامپیوترهای مختلف اجرا کند. در آن زمان FORTRAN تنها زبان جریان اصلی بود.

FORTRAN امکانات لازم برای نوشتن چنین برنامه‌هایی را نداشت. نمایندگان مشتاقانه زبانی را توصیف می‌کردند که می‌توانست در بسترهای مختلفی از بانکداری و بیمه گرفته تا خدمات رفاهی و کنترل موجودی کالا مورد استفاده قرار بگیرد. اکثریت توافق کردند که این زبان باید تا حد امکان به زبان انگلیسی نزدیک باشد، قابلیت تغییر داشته باشد، مستقل از ماشین عمل کند و استفاده از آن آسان باشد؛ حتی اگر این قابلیت‌ها منجر به کاهش قدرت عملکرد این زبان شود.‌ به این ترتیب، در این جلسه چند کمیته تشکیل و به هر یک از آن‌ها وظایفی در راستای ایجاد زبان مشترک تجاری محول شد.

خانم Grace Hopper که گاهی به عنوان خالق و مادر زبان برنامه نویسی COBOL از او یاد می‌شود.
Grace Hopper

زبان‌های برنامه نویسی AIMACO ، FLOW-MATIC و COMTRAN توسط یکی از این کمیته‌ها مورد بررسی قرار گرفتند. منحصراً، زبان FLOW-MATIC تاثیرگذار بود، چرا که در آن زمان پیاده‌سازی شده بود و زبان AIMACO نیز با اندکی تغییرات اشتقاقی از FLOW-MATIC به حساب می‌آید. خالق زبان FLOW-MATIC خانم Grace Hopper به عنوان مشاور فنی در کمیته حضور داشت. نقش اصلی زبان FLOW-MATIC در خلق COBOL در نام‌گذاری متغیرها، کلمات انگلیسی برای دستورات و جداسازی شرح داده‌ها از دستورات است. از خانم Hopper گاهاً به عنوان «مادر COBOL» یا «مادربزرگ زبان COBOL» یاد می‌شود. اگرچه، «Jean E. Sammet» یکی از طراحان اصلی COBOL عنوان کرده است که Hopper هیچ‌گاه مادر، خالق و توسعه دهنده COBOL نبوده است.

خانم Jean E. Sammet ، از طراحان اصلی زبان برنامه نویسی COBOL
Jean E. Sammet

همچنین از زبان COMTRAN، متعلق به شرکت IBM، نیز در خلق COBOL اقتباس گرفته شده است. Grace Hopper در این خصوص بیان داشته است که COBOL 60 نود و پنج درصد به زبان FLOW-MATIC شباهت دارد و زبان COMTRAN نقش اندکی در توسعه COBOL‌ داشته و اقتباس از آن تنها برای راضی نگاه داشتن برخی از اعضای کمیته بوده است.

ویژگی‌هایی که از زبان COMTRAN در COBOL به کار گرفته شده‌اند شامل فرمول‌ها، عبارت PICTURE و گزاره شرطی بهبود داده شده IF و سیستم مدیریت فایل منسجم‌تر است. مشخصه‌های زبان برنامه نویسی مورد نظر به کمیته اجرایی ارائه شد و در دی‌ماه ۱۳۳۸ مورد پذیرش قرار گرفت و با نام COBOL 60 به ثبت رسید.

تاریخچه کوبول: COBOL نسخه 2002 و اضافه شدن قابلیت‌های شی‌گرایی

در اواسط دهه هفتاد خورشیدی (۱۹۹۷ میلادی)، گروه گارتنر تخمین زده است که در حدود ۲۰۰ میلیارد خط کد به زبان COBOL نوشته شده است که ۸۰ درصد برنامه‌های تجاری را اجرا می‌کنند. در اوایل دهه هفتاد شمسی کار بر روی قابلیت‌های شی‌گرایی در نسخه تجدید نظر کامل COBOL آغاز شد. ویژگی‌های شی‌گرایی در COBOL از زبان‌های C++‎ و Smaltalk برگرفته شدند. تخمین اولیه نشان می‌داد که نسخه تجدید نظر تا پایان سال ۱۳۷۶ (۱۹۹۷ میلادی) تکمیل خواهد شد.

اما، نسخه نهایی تجدید نظر کامل COBOL در اواخر سال ۱۳۸۱ (۲۰۰۲ میلادی) توسط سازمان ISO تایید و منتشر شد. همچنین شرکت‌های Micro Focus ،Fujitsu/GTSoftware و RainCode نیز کامپایلرهای شیگرای COBOL را معرفی کردند که مبتنی بر فریم‌ورک دات‌نت هستند. ویژگی‌های بسیاری به نسخه ۲۰۰۲ زبان برنامه نویسی COBOL اضافه شد که در ادامه برخی از آن‌ها فهرست شده‌اند.

ویژگی‌های جدید در COBOL 2002

  • کدهای با فرم آزاد
  • توابع تعریف شده توسط کاربر
  • بازگشت (Recursion)
  • پردازش محلی
  • پشتیبانی از مجموعه کاراکترهای تعمیم‌یافته
  • انواع داده ممیز شناور و دودویی
  • نتایج حسابی قابل حمل
  • انواع داده بیتی و بولی
  • اشاره‌گرها و سینتکس برای دریافت و آزادسازی فضای ذخیره‌سازی
  • بخش SCREEN SECTION برای رابط‌های کاربری مبتنی بر متن
  • امکان VALIDATE
  • بهبود قابلیت همکاری با سایر زبان‌های برنامه نویسی و محیط‌های فریم‌ورکی نظیر ‎.NET‎‎ و جاوا

تاریخچه کوبول: COBOL نسخه 2014

بین سال‌های ۱۳۸۲ و ۱۳۸۸ (۲۰۰۳ تا ۲۰۰۹) سه گزارش فنی جهت توصیف نهایی‌سازی شی، پردازش XML و کلاس‌های نگه‌دارنده برای زبان برنامه نویسی COBOL ایجاد شدند. COBOL 2002 از پشتیبانی ضعیف رنج می‌برد؛ یعنی هیچ کامپایلری به طور کامل از استاندارد 2002 پشتیبانی نمی‌کرد. شرکت Micro Focus متوجه شد که این مشکل به دلیل کمبود نیاز کاربر به ویژگی‌های جدید و همچنین به دلیل لغو مجموعه تست NIST اتفاق افتاده است. به این ترتیب، در نسخه COBOL 2014 تغییرات زیر اعمال شده‌اند:

  • نتایج حسابی قابل حمل با انواع داده IEEE 754 جایگزین شدند.
  • ویژگی‌های اصلی اختیاری شدند. مثل قابلیت VALIDATE، نویسنده گزارش و قابلیت مدیریت صفحه نمایش
  • بارگذاری بیش از متد (Method Overloading)
  • جداول ظرفیت پویا

حال در بخش پایانی تاریخچه COBOL، فهرستی از نسخه‌های مختلف COBOL ارائه شده است.

تاریخچه استانداردهای زبان برنامه نویسی COBOL

تاریخچه استانداردهای زبان برنامه نویسی COBOL و نسخه‌های مختلف این زبان را می‌توان به صورت زیر دسته‌بندی کرد:

  1. COBOL 60
  2. COBOL 61 تا COBOL 65
  3. COBOL 68
  4. COBOL 74
  5. COBOL 85
  6. COBOL 2002 و COBOL شی‌گرا
  7. COBOL 2014

مباحث مهمی از جمله ویژگی‌ها، مزایا و معایب، ساختار زبان برنامه نویسی COBOL و آموزش زبان COBOL در ادامه این مقاله پوشش داده شده‌اند.

ویژگی های زبان برنامه نویسی COBOL

برخی از مهم‌ترین ویژگی‌های زبان برنامه نویسی COBOL عبارتند از:

  • زبان برنامه نویسی COBOL امکان مدیریت حجم قابل توجهی از داده‌ها را به واسطه قابلیت پیشرفته مدیریت فایل ارائه می‌دهد.
  • خوانایی و ویرایش ساختار منطقی در COBOL ساده‌تر است.
  • می‌توان زبان برنامه نویسی COBOL را در ماشین‌هایی نظیر IBM، کامپیوترهای شخصی و سایر موارد اجرا کرد.
  • ابزارهای آزمایش و خطایابی همواره در تمام پلتفرم‌های کامپیوتر برای زبان COBOL در دسترس است. بنابراین، COBOL یک زبان برنامه نویسی قدرتمند به حساب می‌آید.
  • در COBOL به راحتی می‌توان خطایابی را انجام داد، زیرا دارای بخش‌های متفاوتی است.
  • COBOL برای کاربردهای مبتنی بر کسب و کار طراحی شده است. زبان برنامه نویسی COBOL می‌تواند حجم عظیمی از داده‌ها را به واسطه قابلیت‌های پیشرفته مدیریت فایل اداره کند.

ویژگی های COBOL: کدهای خود اصلاح کننده COBOL

نسخه اولیه COBOL (سال ۱۹۵۹) از گزاره نه چندان پرطرفدار «ALTER X TO PROCEED TO Y» پشتیبانی می‌کرد که بسیاری از کامپایلرها برای آن کدهای خود اصلاح کننده تولید می‌کردند. X و Y جداول رویه هستند و گزاره GO TO در رویه X پس از یک گزاره ALTER یعنی در عوض GO TO رویه Y انجام شود. بسیاری از کامپایلرها همچنان از این ویژگی پشتیبانی می‌کنند اما، در استاندارد COBOL 1985 این قابلیت منسوخ در نظر گرفته و در نسخه ۲۰۰۲ به طور کامل حذف شد.

ویژگی‌های نحوی زبان برنامه نویسی COBOL

سینتکس COBOL مشابه زبان انگلیسی است که تقریباً‌ برای توصیف هر چیزی در یک برنامه به کار می‌رود. برای مثال یک شرط را می‌توان به صورت «x IS GREATER THAN y» یا به صورت خلاصه‌تر «x GREATER y» یا «x > y» بیان کرد. شرط‌های پیچیده‌تر را می‌توان با حذف شرط‌ها و متغیرهای تکراری خلاصه‌سازی کرد. برای مثال، «a > b AND a > c OR a = d» را می‌توان به صورت «a > b AND c OR = d» خلاصه و کوتاه کرد.

برای پشتیبانی از این سینتکس نزدیک به زبان انگلیسی، زبان برنامه نویسی COBOL دارای بیش از ۳۰۰ کلمه کلیدی است. برخی از این کلمات کلیدی جایگزین ساده یا تلفظ جمع یک کلمه کلیدی خاص هستند که امکان به کار بردن گزاره‌ها و عبارت‌های شبیه به زبان انگلیسی بیش‌تری را فراهم می‌کنند. کلمات کلیدی IN و OF ، کلمات IS و ARE و کلمات VALUE و VALUES را می‌توان به جای یکدیگر استفاده کرد. هر برنامه COBOL از چهار واحد واژگانی تشکیل شده است. این چهار واحد واژگانی شامل موارد زیر است:

  • کلمات
    • کلمات رزرو شده
    • شناسه‌های تعریف شده توسط کاربر
  • ثابت‌های عینی
    • نمادهای عددی
    • رشته‌ها
  • رشته‌های کاراکتر تصویری
  • جدا کننده
    • کاراکتر فاصله (Space)
    • ویرگول و نقطه ویرگول به همراه یک فاصله

کلمات در COBOL می‌توانند تا ۳۱ کاراکتر داشته باشند و می‌توان در آن‌ها از حروف، اعداد و خط تیره استفاده کرد. حال در ادامه به شرح مزایای زبان برنامه نویسی COBOL پرداخته شده است.

مزایای زبان برنامه نویسی COBOL

در این بخش به برخی از مزایای مهم زبان برنامه نویسی COBOL اشاره شده است:

  • می‌توان از زبان برنامه نویسی COBOL به عنوان یک زبان خود-استنادی (Self-Documenting) نام برد. یعنی کد منبع و رابط کاربری (UI) از قراردادهای نام‌گذاری و قراردادهای ساختاری در برنامه نویسی استفاده می‌کنند که این امر، کدنویسی به زبان COBOL را بدون دانش خاصی امکان‌پذیر می‌کند.
  • زبان برنامه نویسی COBOL می‌تواند پردازش داده را در حجم بسیار بالایی انجام دهد.
  • COBOL یکی از اولین زبان‌های برنامه نویسی سطح بالا به حساب می‌آید.
  • این زبان به طور کامل با نسخه‌های قبلی خود سازگاری دارد.
  • رفع باگ‌ها در COBOL ساده است، زیرا این زبان سیستم پیام خطای مناسب و موثری دارد.
  • می‌توان در COBOL تمام دستورات را به زبان انگلیسی ساده نوشت.

در ادامه به شرح معایب زبان COBOL پرداخته شده است.

معایب زبان برنامه نویسی COBOL

برخی از معایب زبان برنامه نویسی COBOL در ادامه فهرست شده‌اند:

  • سینتکس COBOL پر از کلمات (شلوغ) است.
  • زبان برنامه نویسی COBOL به گونه‌ای طراحی نشده است که برای کاربردهای علمی مناسب باشد.
  • زمان مورد نیاز برای کامپایل یک برنامه COBOL بسیار بیش‌تر از زبان‌های برنامه نویسی نزدیک به سطح ماشین است.
  • یک برنامه نویس COBOL باید با کدنویسی به زبان ماشین آشنایی داشته باشد. چرا که ممکن است عملیات تشخیص خطا با مشکل مواجه شود و نیاز به بررسی «CORE DUMP» توسط برنامه نویسی وجود داشته باشد. بنابراین توسعه دهنده COBOL در واقع باید علاوه برا COBOL به یک زبان برنامه نویسی دیگر نیز تسلط داشته باشد.

در ادامه با هدف واضح‌تر شدن کاربرد و کارایی زبان برنامه نویسی COBOL به نمونه پروژه‌های قابل پیاده‌سازی باین این زبان اشاره شده است.

نمونه پروژه COBOL

همان‌طور که بیان شد، زبان برنامه نویسی COBOL اکثراً در پروژه‌های مبتنی بر ابررایانه‌ها یا همان کامپیوترهای Mainframe به کار گرفته می‌شود. در این بخش دو نمونه پروژه معرفی شده است کهدر پیاده‌سازی آن‌ها از زبان COBOL استفاده می‌شود.

پروژه سامانه مدیریت صورت حساب مخابرات

یک پروژه Mainframe سامانه مدیریت صورت حساب مخابرات برای مدیریت عملیات اساسی شرکت مخابرات نظیر مدیریت حساب و سفارشات، نرخ کارکرد یا استفاده، صدور صورتحساب و تخفیف، قالب‌بندی صورتحساب و میز خدمات و سایر موارد به کار گرفته می‌شود. چنین سیستمی صورتحساب‌هایی را برای انواع مختلف کسب و کار مانند خرده فروشی‌ها و سازمان‌های ارائه دهنده خدمات مخابراتی در قالب‌های مختلف و با خلاصه‌های دقیق تولید می‌کند. محیط‌ها و ابزارهای توسعه در چنین پروژه‌ای شامل موارد زیر است:

  • زبان برنامه نویسی COBOL
  • CICS
  • JCL
  • DB2 (پایگاه داده)

پروژه سیستم Mainframe مدیریت بیمه

ارائه یک پروژه مبتنی بر کامپیوتر Mainframe برای سیستم مدیریت بیمه بر بستر فعلی سازمان با تغییر بخشی از سیستم برای پذیرش محصول جدید از پایگاه داده و جداسازی آن از محصولات فعلی و همچنین باید همه تغییرات لازم در ماژول‌هایی نظیر صورت حساب، گزارش‌ها، حسابداری و سایر موارد انجام شود تا محصول جدید به خوبی کار کند. محیط‌ها و ابزارهای توسعه برای پروژه مدیریت بیمه بدین شرح است:

  • زبان برنامه نویسی COBOL
  • JCL
  • PL/I
  • IMSDB
  • DB2
  •  VSAM

در ادامه این مقاله به آموزش ساختار COBOL پرداخته شده است.

ساختار زبان برنامه نویسی COBOL چگونه است؟

ساختار و سازمان‌دهی زبان برنامه نویسی COBOL‌ به صورت سلسله مراتبی است. اجزای ساختار سلسله مراتبی زبان COBOL در تصویر زیر مشخص شده‌اند.

لزوماً نیازی به وجود همه قطعات و اجزای ساختار COBOL در رابطه سلسله مراتبی نیست.

ساختار سلسله مراتبی زبان برنامه نویسی COBOL

در ادامه، هر یک از اجزای مختلف زبان برنامه نویسی COBOL شرح داده شده‌‌اند.

اجزای مختلف زبان برنامه نویسی COBOL کدامند؟

اجزای مختلف زبان برنامه نویسی COBOL شامل Divisionها (بخش‌ها)، Sectionها (قسمت‌ها)، پاراگراف‌ها و جمله‌ها است. در ادامه این بخش شرح مختصری از هر یک از این اجزا ارائه شده است.

Divisionها در ساختار زبان برنامه نویسی COBOL

یک Division یا «بخش» بلوکی از کد است که معمولاً یک یا بیش از یک Section را شامل می‌شود. Division از جایی که نام آن ذکر شده آغاز می‌شود و با شروع Division بعدی پایان می‌یابد.

Sectionها در ساختار زبان برنامه نویسی COBOL

Sectionها یا «قسمت‌ها» زیر‌بخش (Subdivision) منطق برنامه به حساب می‌آیند. قسمت‌ها مجموعه‌ای از پاراگراف‌ها هستند.

پاراگراف‌ها در ساختار زبان برنامه نویسی COBOL

پاراگراف جزئی از یک Section محسوب می‌شود. پاراگراف یک نام از پیش تعریف شده یا تعریف شده توسط کاربر است که باید به یک نقطه ختم شود. این بخش حاوی تعداد صفر یا بیش از صفر جمله است.

جمله‌ها در ساختار زبان برنامه نویسی COBOL

جمله‌ها (Sentences) ترکیبی از یک یا چند گزاره (Statement) هستند. جمله‌ها تنها باید در بخش مربوط به روال (Procedure) قرار بگیرند. یک جمله در زبان برنامه نویسی COBOL باید با یک نقطه تمام شود.

گزاره‌ها در ساختار زبان برنامه نویسی COBOL

Statementها در زبان COBOL‌ گزاره‌های معناداری هستند که برخی پردازش‌ها را اجرا می‌کنند.

کاراکترها در ساختار زبان برنامه نویسی COBOL

کاراکترها (Character) پایین‌ترین سطح سلسله مراتب ساختار زبان COBOL به حساب می‌آیند و نمی‌توان آن‌ها را به بخش‌های کوچک‌تر شکست. حال در ادامه به معرفی انواع Division در زبان برنامه نویسی COBOL پرداخته شده است.

انواع Division در زبان برنامه نویسی COBOL چه هستند؟

بخش شناسایی (Identification Division)، بخش محیطی (Environment Division)، بخش داده (Data Division) و بخش روال (Procedure Division) انواع Division در زبان برنامه نویسی COBOL به شمار می‌روند. در ادامه این بخش، هر یک از انواع Division در زبان برنامه نویسی COBOL شرح داده شده است.

بخش Identification در زبان برنامه نویسی COBOL

برنامه نویس و کامپایلر می‌توانند از این بخش برای شناسایی برنامه استفاده کنند. تنها قسمت اجباری در Identification Division شناسه برنامه یا Program ID است.

بخش Environment در زبان برنامه نویسی COBOL

بخش محیطی یا Environment Division در زبان برنامه نویسی COBOL به شناسایی فایل‌های ورودی و خروجی برنامه کمک می‌کند. Environment Division خود به Section‌هایی تقسیم می‌شود که هر یک از آن‌ها در ادامه شرح داده شده‌اند.

قسمت پیکربندی در بخش محیطی COBOL

این بخش اطلاعاتی ارائه می‌دهد مربوط به سیستمی که برنامه بر اساس آن نوشته و اجرا شده است. این بخش دارای دو پاراگراف است:

  1. کامپیوتر منبع (Source computer): تکمیل برنامه
  2. کامپیوتر شی (Object computer): اجرای برنامه

قسمت‌های ورودی-خروجی

این بخش یا همان Section، جزئیاتی را مربوط به فایل‌هایی ارائه می‌دهد که در برنامه استفاده شده‌اند. Section‌های ورودی-خروجی از چهار قسمت تشکیل شده‌اند که شامل موارد زیرند:

  1. قسمت فایل (File Section): امکان تعریف ساختار رکورد فایل را فراهم می‌کند.
  2. قسمت ذخیره‌گاه کاری (Working storage section): این بخش به برنامه نویس کمک می‌کند تا تعریف متغیرهای موقت (Temp Variables) و ساختارهای فایل را انجام دهد.
  3. قسمت ذخیره‌سازی محلی (Local-storage section): این قسمت با قسمت ذخیره‌گاه کاری محلی یکسان است. تفاوت کلیدی میان این دو این است که هر بار که برنامه اجرا را آغاز می‌کند، متغیرها باید مقداردهی اولیه شوند.
  4. قسمت پیوند (Linkage section): این قسمت نام داده‌های دریافتی از ذخیره‌گاه خارجی را بیان می‌دارد.

بخش Procedure در زبان برنامه نویسی COBOL

بخش رویه یا Procedure Division برای در بر گرفتن منطق برنامه استفاده می‌شود. بخش رویه همچنین شامل گزاره‌های اجرایی است که در بخش داده تعریف می‌شوند. حال پس از آشنایی با ساختار کلی زبان برنامه نویسی COBOL می‌توان وارد مباحث آموزش COBOL شد.

آموزش زبان برنامه نویسی COBOL

در این بخش به آموزش زبان برنامه نویسی COBOL در سطح مقدماتی پرداخته شده است.

قوانین کدنویسی در زبان برنامه نویسی COBOL

در ادامه برخی از مهم‌ترین قوانین کدنویسی زبان برنامه نویسی COBOL فهرست شده‌اند:

  • شش موقعیت اول کاراکتری به شماره‌های ترتیبی اختصاص داده شده است.
  • هفتمین موقعیت کاراکتری برای کاراکتر استمرار (continuation character) یا برای یک علامت ستاره (*) رزرو شده است. علامت ستاره یک کامنت را مشخص می‌کند.
  • بخش مربوط به متن‌های برنامه از ستون هشت شروع می‌شود.
  • موقعیت‌های چهارم از ستون ۸ تا ۱۱ به عنوان «ناحیه A» یا «Area A» شناخته می‌شوند. همچنین، به موقعیت‌های ۱۲ تا ۷۲ «ناحیه B» یا «Area B» می‌گویند.

قالب استاندارد برنامه COBOL

قالب استاندارد برنامه COBOL به شرح زیر است:

  • ۸۰ کاراکتر در هر خط وجود دارد.
  • ستون‌های ۱ تا ۶: توالی را مشخص می‌کنند.
  • ستون ۷: این موقعیت حاوی نشانگرهای «^»، «/» و «-» است.
  • ستون‌های ۸ تا ۱۱: ناحیه A را نشان می‌دهند.
  • ستون‌های ۱۲ تا ۷۲: ناحیه B را می‌دهند.

قوانین نحوی زبان برنامه نویسی COBOL

در این بخش برخی از قوانین نحوی یا همان قواعد سینتکس زبان برنامه نویسی COBOL شرح داده شده است. نحو زبان برنامه نویسی COBOL بسیار شبیه به قوانین نحوی زبان انگلیسی است. سینتکس COBOL به گونه‌ای طراحی شده که یادگیری آن ساده و به میزان زیادی خوانا است. به عنوان مثال دستور y = x در زبان COBOL به صورت MOVE x TO y نیز نوشته می‌شود.

از دیگر ویژگی‌های نحوی زبان برنامه نویسی COBOL عدم حساسیت آن به حروف بزرگ و کوچک است. COBOL دارای بیش از ۳۰۰ کلمه رزرو شده است. دستورات شرطی پیچیده را می‌توان با حذف متغیرها و دستورات شرطی تکراری خلاصه‌سازی کرد. برای مثال در دستور زیر این خلاصه‌سازی انجام شده است:

1IS a GREATER THAN x AND y GREATER THAN OR EQUALS To

کتابخانه استاندارد زبان برنامه نویسی COBOL چندان بزرگ نیست. به طوری که تنها ۴۳ گزاره، ۸۷ تابع و تنها یک کلاس در کتابخانه استاندارد زبان COBOL وجود دارد.

متغیرها در زبان برنامه نویسی COBOL

متغیر در COBOL یک موقعیت مکانی نام‌گذاری شده در حافظه است. می‌توان در یک برنامه داده‌هایی را در متغیر قرار داد یا داده‌ها را از آن دریافت کرد. نام داده (Data-Name) یا شناسه (Identity) همان نامی است که جهت مشخص کردن ناحیه حافظه رزرو شده برای متغیر به کار گرفته می‌شود. متغیرها باید به لحاظ اندازه و نوع توصیف شوند. هر متغیری که در زبان برنامه نویسی COBOL استفاده می‌شود باید در DATA DIVISION دارای رمزنگاری باشد.

قوانین تعریف متغیرها در COBOL

در این بخش قوانین تعریف متغیر در زبان برنامه نویسی COBOL فهرست شده است:

  • متغیرها باید در بخش (Section) ذخیره‌گاه کاری (Working-Storage) تعریف شوند. متغیرها می‌توانند از نوع آرایه، رکورد، رکوردهای توصیف کننده فایل (File Descriptor Record) و سایر موارد باشند. نام یک متغیر می‌تواند به صورت حرفی-عددی (alphanumeric) باشد. به این صورت که اولین کاراکتر یک حرف است.
  • تنها باید از کاراکترهای مخصوص و مجاز استفاده کرد و فقط باید یک خط تیره در نام متغیر به همراه تورفتگی وجود داشته باشد.

گزاره های شرطی If و Else در زبان برنامه نویسی COBOL

در زبان برنامه نویسی COBOL ، گزاره‌های شرطی If و Else برای انشعاب شرطی استفاده می‌شوند. می‌توان از عملگرهای رابطه‌ای و برخی از عبارات املایی در گزاره‌های شرطی If و Else استفاده کرد. مثلاً دستور «if x > y» را می‌توان به صورت «if x is less than y» نوشت. عملگرهای رابطه‌ای در COBOL شامل عملگرهای ‎<، >، =، >= و <=‎ است. همچنین OR‌ ،AND و NOT نیز عملگرهای منطقی مورد استفاده در زبان برنامه نویسی COBOL به حساب می‌آیند. Less than ،Greater than و Equal to عبارت‌های املایی هستند که می‌توان از آن‌ها استفاده کرد.

مثال استفاده از گزاره های شرطی If و Else در زبان برنامه نویسی COBOL

در قطعه کد زیر مثالی برای استفاده از گزاره های شرطی If و Else در زبان برنامه نویسی COBOL ارائه شده است:

1If x is less than y then 
2Do the first action 
3Else
4Do the second action 
5End-if.

عبارت‌های املایی Less than ،Greater than و Equal to در مثال فوق به کار گرفته شده‌اند. برای بررسی اینکه یک متغیر آلفا چه نوع داده‌ای را نگهداری می‌کند، می‌توان از عبارت‌های شرطی «if x is number» و «f x is alphabetic» استفاده کرد که مبتنی بر مقادیر True یا False است. برای شرط‌های چندسطحی می‌توان از دستور «if-then-else» استفاده کرد. اگر با هیچ شرطی مطابقت نداشته باشد، آنگاه عبارت دیگری اجرا خواهد شد. این حالت مشابه گزاره Switch در سایر زبان‌های برنامه نویسی عمل می‌کند.

انواع داده در زبان برنامه نویسی COBOL

پنج نوع داده اصلی در زبان برنامه نویسی COBOL وجود دارد که در ادامه هر یک از آن‌ها شرح داده شده‌اند:

  1. نوع داده عددی (Numeric): نوع داده عددی امکان تعریف اقلام داده را برای ذخیره‌سازی مقادیر عددی دهدهی فراهم می‌کند. مقادیر عددی ترکیبی از ارقام صفر تا ۹ هستند.
  2. نوع داده حرفی (Alphabet): نوع داده حرفی امکان تعریف اقلام داده را برای ذخیره‌سازی رشته‌های الفبا فراهم می‌کند. رشته‌های حرفی یا الفبایی ترکیبی از حروف A تا Z یا a تا z هستند.
  3. نوع داده حرفی-عددی (Alpha-Numeric): نوع داده حرفی عددی امکان تعریف اقلام داده را برای ذخیره‌سازی رشته‌هایی فراهم می‌کند که به صورت ترکیبی از حروف الفبا و اعداد هستند. رشته‌های حرفی-عددی به صورت ترکیبی از حروف A تا Z یا a تا z یا اعداد صفر تا ۹ نمایش داده می‌شوند.
  4. نوع داده علامت‌دار (Sign): نوع داده علامت‌دار امکان تعریف اقلام داده عددی با علامت را برای ذخیره مقادیر منفی فراهم می‌کند. نوع Sign را می‌توان برای مقادیر عددی تعریف کرد.
  5. نوع داده ممیز اعشاری (Decimal Point): وقتی که داده‌ای به عنوان یک عدد اعشاری در برنامه استفاده می‌شود باید برای مدیریت مقادیر اعشاری از نوع ممیز اعشار استفاده کرد.

در جدول زیر، انواع داده به همراه نمادها و کاراکترهای مجاز آن‌ها در زبان برنامه نویسی COBOL آمده است:

نوع دادهنمادکاراکترهای مجاز
نوع داده عددی | Numeric9۰ تا ۹
نوع داده حرفی | AlphabetAA تا Z یا a تا z
نوع داده حرفی-عددی | Alpha-NumericXA تا Z یا a تا z یا ۰ تا ۹
نوع داده علامت‌دار | SignS-/+
نوع داده ممیزاعشاری | Decimal PointP/Vعلامت نقطه (.)

نمونه کد زبان برنامه نویسی COBOL

برنامه Hello World در زبان برنامه نویسی COBOL‌ را می‌توان به صورت زیر نوشت:

1IDENTIFICATION DIVISION.
2PROGRAM-ID. HELLO-WORLD.
3PROCEDURE DIVISION.
4DISPLAY 'Hello, world.'
5STOP RUN.

در ادامه توضیحات بیش‌تری پیرامون برنامه Hello World در COBOL ارائه شده، اما پیش از آن به آموزش نصب زبان برنامه نویسی COBOL در ویندوز شرح داده شده است.

آموزش نصب زبان COBOL در ویندوز

نصب COBOL در ویندوز به راحتی با چند گام ساده انجام می‌شود. برای نصب COBOL در ویندوز نیاز به یک شبیه‌ساز (Emulator) کامپیوتر Mainframe وجود دارد. شبیه‌سازهای Mainframe بسیاری برای ویندوز وجود دارد. از این شبیه‌سازها می‌توان برای کدنویسی برنامه‌های ساده به زبان COBOL استفاده کرد.

در اینجا، آموزش نصب COBOL با استفاده از شبیه‌ساز Hercules ارائه شده است. Hercules یکی از شبیه‌سازهای محبوب و پراستفاده COBOL به شمار می‌رود که می‌توان آن را به سادگی در ویندوز نصب کرد. Hercules یک ابزار متن‌باز است. در ادامه، توضیحات بیش‌تری پیرامون Hercules ارائه شده است.

Hercules چیست‌؟

Hercules یک پیاده‌سازی نرم‌افزاری متن‌باز از سیستم‌های ابر رایانه‌ای با معماری‌های System/370 و ESA/390 علاوه‌بر آخرین معماری z/Architecture شصت و چهار بیتی است. Hercules تحت لینوکس، ویندوز، FreeBSD ،Solaris و مک OS اجرا می‌شود. حال در ادامه، هر یک از گام‌های نصب COBOL در ویندوز شرح داده شده‌اند.

مراحل نصب Hercules در ویندوز

گام ۱: باید به وب‌سایت Hercules [+] مراجعه و فایل نصب Hercules را از طریق لینک زیر بسته به نوع ویندوز دانلود کرد:

تصویر لینک دانلود Hercules شبیه ساز برای نصب زبان برنامه نویسی COBOL

گام 2: باید فایل دانلود شده را نصب کرد. مراحل نصب Hercules به راحتی انجام می‌شود و هیچ نکته قابل ذکری در مورد آن وجود ندارد. تنها باید در هر مرحله روی Next کلیک کرد و هیچ یک از تنظیمات پیش فرض نباید تغییر داده شوند.

گام ۳: پس از نصب Hercules با اجرای آن در ویندوز خط فرمان Hercules مطابق تصویر زیر اجرا می‌شود. بدین ترتیب، مراحل نصب COBOL در ویندوز تکمیل شده است.

تصویر خط فرمان Hercules پس از نصب که شبیه ساز COBOL است و برای استفاده از زبان برنامه نویسی COBOL در ویندوز باید نصب شود.

زمانی که بسته Hercules در یک سیستم ویندوزی نصب شود، یک فولدر مشابه «C:/hercules/mvs/cobol» ایجاد خواهد شد. علاوه بر اجرای Hercules، با اجرای خط فرمان ویندوز و قرار دادن خط فرمان در محل پوشه COBOL نیز می‌توان دستورات مختلفی را برای اجرای یک JCL‌ و برنامه‌های COBOL به کار گرفت. استفاده از JCL و کار با COBOL‌ روی شبیه‌ساز فرایند پیچیده‌ای دارد که برای استفاده ساده و آزمایش COBOL‌ مناسب نیست. بنابراین، در ادامه روش دیگری برای نصب و اجرای اولین برنامه COBOL در یک کامپیوتر شخصی شرح داده شده است.

اجرای اولین برنامه COBOL

فایل‌های منبع در زبان برنامه نویسی COBOL به صورت فایل‌های متنی ساده هستند. برای کدنویسی به زبان COBOL ، داشتن یک ویرایشگر کد کاربردی که از زبان COBOL پشتیبانی کند درست مثل هر زبان دیگری کافی خواهد بود. ساده‌ترین روش برای یک تازه‌کار استفاده از ویرایشگر کد Visual Studio Code است. به‌طور شگفت‌آوری، افزونه‌های بسیاری برای COBOL در VS Code وجود دارد.

می‌توان از افزونه‌های ‌Bitlang Code Colorizer و Broadcom COBOL language استفاده کرد. بسیاری از سایر افزونه‌های VS Code‌ برای زبان COBOL ، جهت برنامه نویسی در محیط‌های Mainframe استفاده می‌شوند که منجر به افزایش پیچیدگی خواهد شد و برای آموزش در سطح مقدماتی مناسب نخواهند بود. به طور خلاصه برای شروع کار با COBOL باید مراحل زیر را انجام داد:

  1. دانلود و نصب Visual Studio Code (در صورتی که پیش از این انجام نشده است)
  2. نصب افزونه‌های Bitlang Code Colorizer و Broadcom COBOL language در VS Code
  3. نصب GnuCOBOL؛ همچنین، برای آزمایش COBOL در ویندوز، MicroFocus یک نسخه امتحانی را برای Visual Studio COBOL و با پشتیبانی از Azure ارائه می‌دهد.

به این ترتیب، همه چیز نصب شده و شرایط برای نوشتن اولین برنامه به زبان COBOL آماده است:

تصویری از محیط VS Code که تمام امکانات برای برنامه نویسی به زبان COBOL در آن فراهم شده است.

همان‌طور که در بخش‌های قبلی این مقاله به صورت فهرست‌وار شرح داده شد، زبان برنامه نویسی COBOL به اینکه کدها در کدام ستون قرار می‌گیرند اهمیت می‌دهد. در یک برنامه سنتی COBOL، کد منبع دارای قطعات و اجزای مختلفی است:

فرم کدنویسی COBOL که نشان می دهد نوشتن کدها در ستون های صحیح در زبان برنامه نویسی COBOL اهمیت دارند.

همان‌طور که پیش‌تر هم بیان شد، ستون‌های یک تا شش، مربوط به یک شماره ترتیبی است. ستون هفتم، ناحیه نشانگر (Indicator Area) نام دارد که به طور کلی به منظور نمایش کامنت‌ها با قرار دادن یک علامت ستاره در آن ستون استفاده می‌شود. سپس، کدنویسی از ستون‌های ۸ تا ۷۲ و ۷۳ تا ۸۰ برای استفاده برنامه نویسان آزاد است. این سیستم مربوط به زمانی است که کدهای منبع در کارت‌های هولریت (کارت پانچ) ۸۰ ستونی قرار می‌گرفتند.

کامپایلرهای COBOL امروزی قالب آزاد را هم می‌پذیرند و اجباری برای رعایت قالب کد ۸۰ ستونی لحاظ نمی‌کنند. اما، مقادیر بسیار زیادی از کدهای فعلی همچنان در قالب تصاویر کارتی هستند و برای تغییر و به‌روزرسانی آن‌ها باید آشنایی لازم با محدودیت‌های قالب ستونی وجود داشته باشد. بنابراین در ادامه این آموزش نیز از قالب تصاویر کارتی پیروی شده است. باید این نکته را در نظر داشت که:

  • ساختار بلوکی تقریباً در هر زبان برنامه نویسی دیگری به کار گرفته می‌شود. اما COBOL یک زبان برنامه نویسی با ساختار بلوکی نیست.

همان‌طور که پیش‌تر هم بیان شد، یک هدف کلیدی در طراحی COBOL از ابتدا این بوده است که این زبان باید خود-استنادی (Self-Documenting) و شبیه به سینتکس زبان انگلیسی باشد. به جای استفاده از مفاهیمی همچون توابع و زیرروال‌ها و بلوک‌ها، در COBOL اجزائی شامل بخش‌ها (Division)، قسمت‌ها (Sections)، پاراگراف‌ها و گزاره‌ها به کار گرفته می‌شوند (البته، چیزی تقریباً شبیه به زیرروال‌ها با استفاده از فعل «PERFORM» در COBOL قابل پیاده‌سازی است.

برنامه Hello World به زبان COBOL

یک برنامه Hello World در COBOL به صورت زیر نوشته می‌شود:

1     IDENTIFICATION DIVISION. 
2       PROGRAM-ID. HELLO.
3       PROCEDURE DIVISION.
4           DISPLAY "Hello, world".
5       END PROGRAM HELLO.

همان‌طور که در کدهای فوق ملاحظه می‌شود، در مقایسه با سایر زبان‌ها، COBOL کمی پرلغت است. اما، سینتکس COBOL چندان هم بد نیست. می‌توان برنامه Hello World به زبان COBOL را با معادل آن در زبان برنامه نویسی جاوا مقایسه کرد:

1public class Hello {
2	public static void main(String[] args){
3		System.out.println("Hello, world!");
4	}
5}

در اولین خط مثال برنامه Hello World‌ به زبان COBOL دستور زیر آمده است:

1IDENTIFICATION DIVISION.

برنامه‌های COBOL همیشه حداقل دارای یک بخش شناسایی (Identification Division) و یک بخش رویه (Procedure Division) هستند. بخش شناسایی یک پاراگراف مهم به نام «PROGRAM-ID» دارد که باید در آن یک نام برنامه درج شود. نیازی نیست که این نام با نام فایل یا تقریباً هر چیز دیگری یکسان باشد؛ به غیر از حالتی که این برنامه COBOL در یک برنامه COBOL دیگر فراخوانی شود. این فراخوانی با استفاده از فعل «CALL» انجام می‌شود که در این آموزش به آن پرداخته نشده است. تعیین PROGRAM-ID در COBOL اجباری است، بنابراین در این برنامه PROGRAM-ID به صورت زیر وارد شده است:

1IDENTIFICATION DIVISION.
2PROGRAM-ID. HELLO.

معمولاً موارد دیگری هم در بخش شناسایی اضافه می‌شوند. در کدهای زیر چند نمونه از مواردی آمده است که در بخش شناسایی تعیین می‌شوند:

1IDENTIFICATION DIVISION.
2PROGRAM-ID. HELLO.
3AUTHOR. CHARLES R MARTIN.
4DATE-WRITTEN. 2020-APR-11.

اگرچه، در محیط‌های مدرن و امروزی، این موارد به صورت کامنت اضافه می‌شوند. همچنین، در محیط‌های توسعه امروزی الزامی به نوشتن کدهای COBOL‌ به صورت حروف بزرگ وجود ندارد و می‌توان آن‌ها را با حروف کوچک هم نوشت:

1    identification division.
2       program-id. tut2.
3       author. charlie martin.
4       procedure division.
5           display "hello, world".
6       end program tut2.

بخش اجرایی برنامه COBOL در Procedure Division قرار می‌گیرد:

1      IDENTIFICATION DIVISION. 
2       PROGRAM-ID. HELLO.
3       PROCEDURE DIVISION.
4           DISPLAY "Hello, world".
5       END PROGRAM HELLO.

همان‌طور که در کدهای فوق ملاحظه می‌شود، بخش «DISPLAY "Hello, world".‎» به اندازه چهار ستون تورفتگی دارد. همان‌طور که پیش‌تر نیز اشاره شد، دلیلش این است که ستون ۸ تا ۷۲ در واقع دارای دو قسمت یا ناحیه است. قسمت A از ستون ۸ تا ۱۱ و قسمت B از ستون ۱۲ به بعد تشکیل می‌شوند. Divisionها، Sectionها و پاراگراف‌ها باید از قسمت A شروع و گزاره‌های کد باید از قسمت B آغاز شوند. به این ترتیب آموزش زبان برنامه نویسی COBOL در این مقاله به پایان می‌رسد.

جمع‌بندی

در این مقاله به این سوال پاسخ داده شد که زبان برنامه نویسی COBOL چیست و همچنین به سایر مباحث پیرامون زبان COBOL پرداخته شد. سرفصل‌های مهمی که در این مقاله پوشش داده شدند شامل تاریخچه COBOL، ویژگی‌های آن، مزایا و معایب زبان برنامه نویسی COBOL، آموزش زبان COBOL، ساختارهای COBOL و سایر موارد است.

نکته مهمی که باید در مورد زبان COBOL در نظر داشت این است که این زبان همه‌منظوره نیست و عمدتاً در توسعه سامانه‌های پیاده‌سازی شده روی کامپیوترهای Mainframe برای کاربردهای تجاری به کار گرفته می‌شود. دوره‌های آموزشی متعددی برای زبان‌های برنامه نویسی امروزی در این مقاله معرفی شدهاند که کاربردهای گسترده‌تری دارند و با ایدگیری آن‌ها می‌توان وارد بازار کار گسترده برنامه نویسی شد.

بر اساس رای ۱۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
Wikipedia (English)The OverflowGuru99
۴ دیدگاه برای «زبان برنامه نویسی Cobol چیست؟ — راهنمای مقدماتی و به زبان ساده»

درود بر شما ، خوب كامل و ساده بيانگر تصوير كلي از برنامه ريزي از اين مقاله برداشت مي شه كرد ، تشكرله

روشن ترین و گویا ترین مطلبی که در مورد کوبول پیدا کردم !
ممنونم

ممنون از این مقاله کاربردی

بسیااار عالی و دید اولیه کاملی رو به خواننده میده
ممنون از محتوی مفید و کاربردیتون

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *