COBOL یکی از قدیمیترین زبانهای 1 1 به حساب میآید. زبان برنامه نویسی COBOL به همراه زبان اسمبلی IBM/360 و FORTRAN در زمانی استفاده میشدند که هنوز رشتهای به نام علوم کامپیوتر در دانشگاهها وجود نداشت. در دهه ۶۰ شمسی (دهه ۸۰ میلادی) به دانشجویان گفته میشد که زبان COBOL منسوخ شده است و دیگر کسی از آن استفاده نمیکند. اما اکنون در سال ۱۴۰۰، دولتها و بانکهای آمریکا همچنان سخت به دنبال برنامه نویسیان COBOL هستند. تا جایی که در سال گذشته فیلیپ مورفی فرماندار نیوجرسی در تلویزیون از برنامه نویسیان COBOL تقاضای کمک میکند. بنابراین، زبان برنامه نویسی کوبول همچنان کاربرد دارد. در این مقاله به معرفی زبان COBOL و شرح نکات پیرامون آن پرداخته شده است. در ابتدا به این سوال پاسخ داده میشود که زبان برنامه نویسی 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 همچنان به عنوان یک زبان برتر جایگاه خود را در این حوزه حفظ کرده است.

بسیاری از شرکتها شامل IBM ،UPS و Cigna همچنان از COBOL استفاده میکنند. نحو (سینتکس) COBOL بسیار ساده طراحی شده است تا سایر افراد در سازمانها و کسبوکارها که برنامه نویس نیستند هم بتوانند کدهای COBOL را بخوانند و بفهمند. هدف از خلق زبان برنامه نویسی COBOL ارائه یک زبان صریح بوده است، زیرا به عقیده سازندگانش، نباید جای هیچ حدس و گمانی وجود داشته باشد. البته زبان برنامه نویسی COBOL منتقدانی هم داشته که منجر به کاهش و توقف آموزش COBOL در دانشگاهها شده است.
COBOL همچنان زبانی فاتح در تجارت باقی مانده است. اما، یافتن افرادی با دانش و مهارت زبان برنامه نویسی COBOL میتواند چالش برانگیز باشد. چرا که، یک کامپیوتر Mainframe پلتفرم دشواری برای یادگیری به حساب میآید و علتش هزینههای بالا است. به گفته یک مهندس کامپیوتر در شرکت Cigna، افراد پولی برای پرداخت اجاره یک کامپیوتر Mainframe ندارند تا بتوانند زبان COBOL را بیاموزند. تعداد کمی از آموزشگاهها دورههایی برای آموزش کامپیوترهای Mainframe و زبان 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 فهرست شده است:
در اواخر دهه ۱۳۳۰ خورشیدی (۱۹۵۰ میلادی) کاربران و شرکتهای تولید کننده کامپیوتر نگرانیهایی بابت افزایش هزینههای برنامه نویسی و پیادهسازی نرمافزار داشتند. یک نظرسنجی در سال ۱۳۳۸ نشان میداد که برنامه نویسی در هر چیدمان پردازش داده، به طور میانگین ۸۰۰ هزار دلار هزینه در بر داشته است. همچنین، ترجمه برنامهها برای اجرا روی سختافزارهای جدید نیز هزینهای معادل ۶۰۰ هزار دلار در پی داشت. در دورانی که زبانهای برنامه نویسی جدید با سرعت فزایندهای در حال تکثیر بودند، همان نظرسنجی نشان میداد که اگر از یک «زبان مشترک مبتنی بر کسب و کار» استفاده شود، تحول و دگرگونی بسیار کمهزینهتر و سریعتر انجام خواهد شد.
در آغاز سال ۱۳۳۸ خورشیدی، یک دانشمند کامپیوتر به نام Mary K. Hawes در شرکت Burroughs جلسهای را با نمایندگان دانشگاهی، کاربران کامپیوتر و تولیدکنندگان در دانشگاه پنسیلوانیا با محوریت زبانهای مشترک تجاری تشکیل داد. در این جلسه، از وزارت دفاع برای ایجاد یک زبان تجاری مشترک درخواست حمایت شد. هیات نمایندگان، مدیر واحد تحقیقات سیستمهای داده در وزارت دفاع، چارلز فیلیپس، را در این خصوص مجاب کردند.

در آن زمان، وزارت دفاع آمریکا ۲۲۵ کامپیوتر داشت و ۱۷۵ کامپیوتر جدید را هم سفارش داده بود و بیش از ۲۰۰ میلیون دلار برای برنامههای اجرا شده روی این کامپیوترها هزینه کرده بود. استفاده از برنامههای قابل حمل میتوانست به صرفهجویی در وقت و هزینه منجر شود. به این ترتیب، چارلز فیلیپس حمایت مالی را پذیرفت و به هیات نمایندگان دستور داد پیشنویس دستور کار را آماده کنند.
در خرداد سال ۱۳۳۸ جلسهای در پنتاگون برای بحث پیرامون ساخت زبان تجاری مشترک برگزار شد. دغدغه وزارت دفاع این بود که این زبان بتواند یک برنامه پردازش داده واحد را روی کامپیوترهای مختلف اجرا کند. در آن زمان FORTRAN تنها زبان جریان اصلی بود. FORTRAN امکانات لازم برای نوشتن چنین برنامههایی را نداشت. نمایندگان مشتاقانه زبانی را توصیف میکردند که میتوانست در بسترهای مختلفی از بانکداری و بیمه گرفته تا خدمات رفاهی و کنترل موجودی کالا مورد استفاده قرار بگیرد. اکثریت توافق کردند که این زبان باید تا حد امکان به زبان انگلیسی نزدیک باشد، قابلیت تغییر داشته باشد، مستقل از ماشین عمل کند و استفاده از آن آسان باشد؛ حتی اگر این قابلیتها منجر به کاهش قدرت عملکرد این زبان شود. به این ترتیب، در این جلسه چند کمیته تشکیل و به هر یک از آنها وظایفی در راستای ایجاد زبان مشترک تجاری محول شد.

زبانهای برنامه نویسی 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 نبوده است.

همچنین از زبان COMTRAN، متعلق به شرکت IBM، نیز در خلق COBOL اقتباس گرفته شده است. Grace Hopper در این خصوص بیان داشته است که COBOL 60 نود و پنج درصد به زبان FLOW-MATIC شباهت دارد و زبان COMTRAN نقش اندکی در توسعه COBOL داشته و اقتباس از آن تنها برای راضی نگاه داشتن برخی از اعضای کمیته بوده است. ویژگیهایی که از زبان COMTRAN در COBOL به کار گرفته شدهاند شامل فرمولها، عبارت PICTURE و گزاره شرطی بهبود داده شده IF و سیستم مدیریت فایل منسجمتر است. مشخصههای زبان برنامه نویسی مورد نظر به کمیته اجرایی ارائه شد و در دیماه ۱۳۳۸ مورد پذیرش قرار گرفت و با نام COBOL 60 به ثبت رسید.
در اواسط دهه هفتاد خورشیدی (۱۹۹۷ میلادی)، گروه گارتنر تخمین زده است که در حدود ۲۰۰ میلیارد خط کد به زبان COBOL نوشته شده است که ۸۰ درصد برنامههای تجاری را اجرا میکنند. در اوایل دهه هفتاد شمسی کار بر روی قابلیتهای شیگرایی در نسخه تجدید نظر کامل COBOL آغاز شد. ویژگیهای شیگرایی در COBOL از زبانهای C++ و Smaltalk برگرفته شدند. تخمین اولیه نشان میداد که نسخه تجدید نظر تا پایان سال ۱۳۷۶ (۱۹۹۷ میلادی) تکمیل خواهد شد.
اما، نسخه نهایی تجدید نظر کامل COBOL در اواخر سال ۱۳۸۱ (۲۰۰۲ میلادی) توسط سازمان ISO تایید و منتشر شد. همچنین شرکتهای Micro Focus ،Fujitsu/GTSoftware و RainCode نیز کامپایلرهای شیگرای COBOL را معرفی کردند که مبتنی بر فریمورک داتنت هستند. ویژگیهای بسیاری به نسخه ۲۰۰۲ زبان برنامه نویسی COBOL اضافه شد که در ادامه برخی از آنها فهرست شدهاند.
بین سالهای ۱۳۸۲ و ۱۳۸۸ (۲۰۰۳ تا ۲۰۰۹) سه گزارش فنی جهت توصیف نهاییسازی شی، پردازش XML و کلاسهای نگهدارنده برای زبان برنامه نویسی COBOL ایجاد شدند. COBOL 2002 از پشتیبانی ضعیف رنج میبرد؛ یعنی هیچ کامپایلری به طور کامل از استاندارد 2002 پشتیبانی نمیکرد. شرکت Micro Focus متوجه شد که این مشکل به دلیل کمبود نیاز کاربر به ویژگیهای جدید و همچنین به دلیل لغو مجموعه تست NIST اتفاق افتاده است. به این ترتیب، در نسخه COBOL 2014 تغییرات زیر اعمال شدهاند:
حال در بخش پایانی تاریخچه COBOL، فهرستی از نسخههای مختلف COBOL ارائه شده است.
تاریخچه استانداردهای زبان برنامه نویسی COBOL و نسخههای مختلف این زبان را میتوان به صورت زیر دستهبندی کرد:
مباحث مهمی از جمله ویژگیها، مزایا و معایب، ساختار زبان برنامه نویسی COBOL و آموزش زبان COBOL در ادامه این مقاله پوشش داده شدهاند. پیش از آن، مجموعه دورههای آموزش برنامه نویسی فرادرس برای علاقهمندان به این حوزه معرفی شده است.
اگرچه زبان برنامه نویسی COBOL کاربردهای محدودی دارد و فقط در یک حوزه خاص استفاده میشود، اما به طور کلی حرفه برنامه نویسی یکی از مشاغل پردرآمد و پرتقاضا در صنعت و بازار کار به حساب میآید. زبانهای برنامه نویسی بسیاری وجود دارند که به طور گسترده در کاربردهای مختلف و برای مقاصد گوناگون به کار گرفته میشوند. دانشجویان و علاقهمندان میتوانند مطابق با زمینهای که قصد فعالیت در آن را دارند یک زبان برنامه نویسی مناسب را انتخاب کنند و با یادگیری آن آینده شغلی روشنی را پیش رو داشته باشند. در این راستا، مجموعهای جامع از دورههای مختلف آموزش برنامه نویسی در سایت فرادرس فراهم شده است.
این مجموعه نزدیک به ۴۵ دوره آموزشی مختلف را شامل میشود که در مجموع بیش از ۴۰۰ ساعت محتوای آموزش ویدیویی در آنها ارائه شده است. دورههای مختلفی از سطوح 1 تا پیشرفته به همراه مثالهای عملی و به صورت پروژه محور با محوریت زبانهای برنامه نویسی مختلف در این مجموعه آموزشی ارائه شده است. دورههایی برای زبانهای برنامه نویسی مختلف مانند پایتون، جاوا، جاوا اسکریپت، C++، سیشارپ و چندین زبان برنامه نویسی دیگر در این مجموعه قابل دسترسی هستند. در ادامه، برخی از دورههای شاخص مجموعه آموزش برنامه نویسی فرادرس معرفی و فهرست شدهاند:
در ادامه این مقاله به شرح ویژگیهای COBOL پرداخته شده است.
برخی از مهمترین ویژگیهای زبان برنامه نویسی COBOL عبارتند از:
نسخه اولیه COBOL (سال ۱۹۵۹) از گزاره نه چندان پرطرفدار «ALTER X TO PROCEED TO Y» پشتیبانی میکرد که بسیاری از کامپایلرها برای آن کدهای خود اصلاح کننده تولید میکردند. X و Y جداول رویه هستند و گزاره GO TO در رویه X پس از یک گزاره ALTER یعنی در عوض GO TO رویه Y انجام شود. بسیاری از کامپایلرها همچنان از این ویژگی پشتیبانی میکنند اما، در استاندارد COBOL 1985 این قابلیت منسوخ در نظر گرفته و در نسخه ۲۰۰۲ به طور کامل حذف شد.
سینتکس 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 از چهار واحد واژگانی تشکیل شده است. این چهار واحد واژگانی شامل موارد زیر است:
کلمات در COBOL میتوانند تا ۳۱ کاراکتر داشته باشند و میتوان در آنها از حروف، اعداد و خط تیره استفاده کرد. حال در ادامه به شرح مزایای زبان برنامه نویسی COBOL پرداخته شده است.
در این بخش به برخی از مزایای مهم زبان برنامه نویسی COBOL اشاره شده است:
در ادامه به شرح معایب زبان COBOL پرداخته شده است.
برخی از معایب زبان برنامه نویسی COBOL در ادامه فهرست شدهاند:
در ادامه با هدف واضحتر شدن کاربرد و کارایی زبان برنامه نویسی COBOL به نمونه پروژههای قابل پیادهسازی باین این زبان اشاره شده است.
همانطور که بیان شد، زبان برنامه نویسی COBOL اکثراً در پروژههای مبتنی بر ابررایانهها یا همان کامپیوترهای Mainframe به کار گرفته میشود. در این بخش دو نمونه پروژه معرفی شده است کهدر پیادهسازی آنها از زبان COBOL استفاده میشود.
یک پروژه Mainframe سامانه مدیریت صورت حساب مخابرات برای مدیریت عملیات اساسی شرکت مخابرات نظیر مدیریت حساب و سفارشات، نرخ کارکرد یا استفاده، صدور صورتحساب و تخفیف، قالببندی صورتحساب و میز خدمات و سایر موارد به کار گرفته میشود. چنین سیستمی صورتحسابهایی را برای انواع مختلف کسب و کار مانند خرده فروشیها و سازمانهای ارائه دهنده خدمات مخابراتی در قالبهای مختلف و با خلاصههای دقیق تولید میکند. محیطها و ابزارهای توسعه در چنین پروژهای شامل موارد زیر است:
ارائه یک پروژه مبتنی بر کامپیوتر Mainframe برای سیستم مدیریت بیمه بر بستر فعلی سازمان با تغییر بخشی از سیستم برای پذیرش محصول جدید از پایگاه داده و جداسازی آن از محصولات فعلی و همچنین باید همه تغییرات لازم در ماژولهایی نظیر صورت حساب، گزارشها، حسابداری و سایر موارد انجام شود تا محصول جدید به خوبی کار کند. محیطها و ابزارهای توسعه برای پروژه مدیریت بیمه بدین شرح است:
در ادامه این مقاله به آموزش ساختار COBOL پرداخته شده است.
ساختار و سازماندهی زبان برنامه نویسی COBOL به صورت سلسله مراتبی است. اجزای ساختار سلسله مراتبی زبان COBOL در تصویر زیر مشخص شدهاند. لزوماً نیازی به وجود همه قطعات و اجزای ساختار COBOL در رابطه سلسله مراتبی نیست.

در ادامه، هر یک از اجزای مختلف زبان برنامه نویسی COBOL شرح داده شدهاند.
اجزای مختلف زبان برنامه نویسی COBOL شامل Divisionها (بخشها)، Sectionها (قسمتها)، پاراگرافها و جملهها است. در ادامه این بخش شرح مختصری از هر یک از این اجزا ارائه شده است.
یک Division یا «بخش» بلوکی از کد است که معمولاً یک یا بیش از یک Section را شامل میشود. Division از جایی که نام آن ذکر شده آغاز میشود و با شروع Division بعدی پایان مییابد.
Sectionها یا «قسمتها» زیربخش (Subdivision) منطق برنامه به حساب میآیند. قسمتها مجموعهای از پاراگرافها هستند.
پاراگراف جزئی از یک Section محسوب میشود. پاراگراف یک نام از پیش تعریف شده یا تعریف شده توسط کاربر است که باید به یک نقطه ختم شود. این بخش حاوی تعداد صفر یا بیش از صفر جمله است.
جملهها (Sentences) ترکیبی از یک یا چند گزاره (Statement) هستند. جملهها تنها باید در بخش مربوط به روال (Procedure) قرار بگیرند. یک جمله در زبان برنامه نویسی COBOL باید با یک نقطه تمام شود.
Statementها در زبان COBOL گزارههای معناداری هستند که برخی پردازشها را اجرا میکنند.
کاراکترها (Character) پایینترین سطح سلسله مراتب ساختار زبان COBOL به حساب میآیند و نمیتوان آنها را به بخشهای کوچکتر شکست. حال در ادامه به معرفی انواع Division در زبان برنامه نویسی COBOL پرداخته شده است.
بخش شناسایی (Identification Division)، بخش محیطی (Environment Division)، بخش داده (Data Division) و بخش روال (Procedure Division) انواع Division در زبان برنامه نویسی COBOL به شمار میروند. در ادامه این بخش، هر یک از انواع Division در زبان برنامه نویسی COBOL شرح داده شده است.
برنامه نویس و کامپایلر میتوانند از این بخش برای شناسایی برنامه استفاده کنند. تنها قسمت اجباری در Identification Division شناسه برنامه یا Program ID است.
بخش محیطی یا Environment Division در زبان برنامه نویسی COBOL به شناسایی فایلهای ورودی و خروجی برنامه کمک میکند. Environment Division خود به Sectionهایی تقسیم میشود که هر یک از آنها در ادامه شرح داده شدهاند.
این بخش اطلاعاتی ارائه میدهد مربوط به سیستمی که برنامه بر اساس آن نوشته و اجرا شده است. این بخش دارای دو پاراگراف است:
این بخش یا همان Section، جزئیاتی را مربوط به فایلهایی ارائه میدهد که در برنامه استفاده شدهاند. Sectionهای ورودی-خروجی از چهار قسمت تشکیل شدهاند که شامل موارد زیرند:
بخش رویه یا Procedure Division برای در بر گرفتن منطق برنامه استفاده میشود. بخش رویه همچنین شامل گزارههای اجرایی است که در بخش داده تعریف میشوند. حال پس از آشنایی با ساختار کلی زبان برنامه نویسی COBOL میتوان وارد مباحث آموزش COBOL شد.
در این بخش به آموزش زبان برنامه نویسی COBOL در سطح مقدماتی پرداخته شده است.
در ادامه برخی از مهمترین قوانین کدنویسی زبان برنامه نویسی COBOL فهرست شدهاند:
قالب استاندارد برنامه COBOL به شرح زیر است:
در این بخش برخی از قوانین نحوی یا همان قواعد سینتکس زبان برنامه نویسی COBOL شرح داده شده است. نحو زبان برنامه نویسی COBOL بسیار شبیه به قوانین نحوی زبان انگلیسی است. سینتکس COBOL به گونهای طراحی شده که یادگیری آن ساده و به میزان زیادی خوانا است. به عنوان مثال دستور y = x در زبان COBOL به صورت MOVE x TO y نیز نوشته میشود. از دیگر ویژگیهای نحوی زبان برنامه نویسی COBOL عدم حساسیت آن به حروف بزرگ و کوچک است. COBOL دارای بیش از ۳۰۰ کلمه رزرو شده است. دستورات شرطی پیچیده را میتوان با حذف متغیرها و دستورات شرطی تکراری خلاصهسازی کرد. برای مثال در دستور زیر این خلاصهسازی انجام شده است:
IS a GREATER THAN x AND y GREATER THAN OR EQUALS To
کتابخانه استاندارد زبان برنامه نویسی COBOL چندان بزرگ نیست. به طوری که تنها ۴۳ گزاره، ۸۷ تابع و تنها یک کلاس در کتابخانه استاندارد زبان COBOL وجود دارد.
متغیر در COBOL یک موقعیت مکانی نامگذاری شده در حافظه است. میتوان در یک برنامه دادههایی را در متغیر قرار داد یا دادهها را از آن دریافت کرد. نام داده (Data-Name) یا شناسه (Identity) همان نامی است که جهت مشخص کردن ناحیه حافظه رزرو شده برای متغیر به کار گرفته میشود. متغیرها باید به لحاظ اندازه و نوع توصیف شوند. هر متغیری که در زبان برنامه نویسی COBOL استفاده میشود باید در DATA DIVISION دارای رمزنگاری باشد.
در این بخش قوانین تعریف متغیر در زبان برنامه نویسی 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 x is less than y then Do the first action Else Do the second action End-if.
عبارتهای املایی Less than ،Greater than و Equal to در مثال فوق به کار گرفته شدهاند. برای بررسی اینکه یک متغیر آلفا چه نوع دادهای را نگهداری میکند، میتوان از عبارتهای شرطی «if x is number» و «f x is alphabetic» استفاده کرد که مبتنی بر مقادیر True یا False است. برای شرطهای چندسطحی میتوان از دستور «if-then-else» استفاده کرد. اگر با هیچ شرطی مطابقت نداشته باشد، آنگاه عبارت دیگری اجرا خواهد شد. این حالت مشابه گزاره Switch در سایر زبانهای برنامه نویسی عمل میکند.
پنج نوع داده اصلی در زبان برنامه نویسی COBOL وجود دارد که در ادامه هر یک از آنها شرح داده شدهاند:
در جدول زیر، انواع داده به همراه نمادها و کاراکترهای مجاز آنها در زبان برنامه نویسی COBOL آمده است:
| نوع داده | نماد | کاراکترهای مجاز |
| نوع داده عددی | Numeric | 9 | ۰ تا ۹ |
| نوع داده حرفی | Alphabet | A | A تا Z یا a تا z |
| نوع داده حرفی-عددی | Alpha-Numeric | X | A تا Z یا a تا z یا ۰ تا ۹ |
| نوع داده علامتدار | Sign | S | -/+ |
| نوع داده ممیزاعشاری | Decimal Point | P/V | علامت نقطه (.) |
برنامه Hello World در زبان برنامه نویسی COBOL را میتوان به صورت زیر نوشت:
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY 'Hello, world.' STOP RUN.
در ادامه توضیحات بیشتری پیرامون برنامه Hello World در COBOL ارائه شده، اما پیش از آن به آموزش نصب زبان برنامه نویسی COBOL در ویندوز شرح داده شده است.
نصب COBOL در ویندوز به راحتی با چند گام ساده انجام میشود. برای نصب COBOL در ویندوز نیاز به یک شبیهساز (Emulator) کامپیوتر Mainframe وجود دارد. شبیهسازهای Mainframe بسیاری برای ویندوز وجود دارد. از این شبیهسازها میتوان برای کدنویسی برنامههای ساده به زبان COBOL استفاده کرد.
در اینجا، آموزش نصب COBOL با استفاده از شبیهساز Hercules ارائه شده است. Hercules یکی از شبیهسازهای محبوب و پراستفاده COBOL به شمار میرود که میتوان آن را به سادگی در ویندوز نصب کرد. Hercules یک ابزار متنباز است. در ادامه، توضیحات بیشتری پیرامون Hercules ارائه شده است.
Hercules یک پیادهسازی نرمافزاری متنباز از سیستمهای ابر رایانهای با معماریهای System/370 و ESA/390 علاوهبر آخرین معماری z/Architecture شصت و چهار بیتی است. Hercules تحت لینوکس، ویندوز، FreeBSD ،Solaris و
برچسب:
نویسنده: خنجی