COBOL (زبان عمومی تجاری) یکی از قدیمیترین زبانهای برنامهنویسی سطح بالا است که بهطور عمده برای برنامههای تجاری طراحی شده است. این زبان در اواخر دهه 1950 معرفی شد و برای پردازش حجم بالای دادهها که معمولاً در محیطهای تجاری وجود دارد، طراحی شده است. COBOL دارای یک نحو مفصل است که بهطور خودکار مستند میشود و این امر باعث میشود که غیر-programmers بتوانند کد را بهتر درک کنند. با وجود اینکه بیش از شش دهه از عمر آن میگذرد، COBOL هنوز هم بهطور فعال مورد استفاده قرار میگیرد، بهویژه در سیستمهای قدیمی در بخشهای بانکی، دولتی و بیمه.
COBOL در پاسخ به نیاز به یک زبان استاندارد برای برنامههای تجاری توسعه یافت. اولین جلسه برای بحث در مورد COBOL در سال 1959 برگزار شد که شامل یک کنسرسیوم از نمایندگان دولت و صنعت بود. هدف ایجاد زبانی بود که بتواند دادههای تجاری را پردازش کند، که در پلتفرمهای مختلف بهطور گستردهای متفاوت بود. اولین مشخصات در سال 1960 منتشر شد و محبوبیت آن در دهه 1960 افزایش یافت زیرا کسبوکارها شروع به انتقال از زبان اسمبلی به برنامهنویسی سطح بالا برای پردازش دادههای کارآمدتر کردند.
توسعه COBOL در دهههای 1970 و 1980 ادامه یافت و چندین اصلاح و بهبود برای افزایش عملکرد و کارایی انجام شد. ANSI COBOL را استانداردسازی کرد و نسخههای بهروزرسانی شده در سالهای 1974، 1985 و 2002 منتشر شد. با وجود معرفی زبانهای برنامهنویسی مدرنتر، COBOL همچنان در حوزههای شرکتی حضور قابل توجهی داشت، که بخشی از آن به دلیل سرمایهگذاریهای عظیم در برنامههای COBOL موجود بود.
امروز، COBOL هنوز بهطور گستردهای مورد استفاده قرار میگیرد، بهویژه در محیطهای mainframe. بسیاری از سیستمهای قدیمی هنوز عملیات اصلی را در مؤسسات مالی و بخشهای دولتی انجام میدهند. ابتکارات مدرن تلاش کردهاند COBOL را با فناوریهای معاصر، مانند رایانش ابری و خدمات وب، ادغام کنند. علاوه بر این، تلاشهایی مانند پروژه "COBOL 2020" بهدنبال مدرنسازی بیشتر این زبان هستند تا اطمینان حاصل شود که در چشمانداز فناوری امروز مرتبط باقی بماند.
COBOL دارای نحوی مفصل و شبیه به زبان انگلیسی است که خوانایی را تسهیل میکند. بهعنوان مثال، یک اعلام ساده داده ممکن است بهصورت زیر باشد:
01 CUSTOMER-NAME PIC A(30).
COBOL چندین نوع داده را ارائه میدهد، از جمله الفبایی (A)، عددی (9) و اعشاری (V). تعریف یک متغیر عددی بهصورت زیر خواهد بود:
01 ACCOUNT-BALANCE PIC 9(10)V99.
برنامههای COBOL به چهار تقسیم اصلی تقسیم میشوند: شناسایی، محیط، داده و رویه. این تقسیم به سازماندهی منطقی کد کمک میکند. یک مثال از ساختار برنامه:
IDENTIFICATION DIVISION.
PROGRAM-ID. HelloWorld.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
DISPLAY 'Hello, World!'.
STOP RUN.
COBOL از پشتیبانی ذاتی برای عملیات فایل برخوردار است. اعلام و عملیات فایل (مانند OPEN، READ، WRITE) در COBOL ساده است:
01 CUSTOMER-FILE FILE SECTION.
02 CUSTOMER-RECORD RECORD.
03 CUSTOMER-NAME PIC A(30).
03 CUSTOMER-BALANCE PIC 9(10)V99.
COBOL از ساختارهای IF
، THEN
و ELSE
برای منطق شرطی استفاده میکند:
IF CUSTOMER-BALANCE > 1000 THEN
DISPLAY 'VIP Customer'
ELSE
DISPLAY 'Standard Customer'.
عبارت PERFORM
برای ساختارهای حلقه در COBOL استفاده میشود:
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 10
DISPLAY I.
COBOL کد را به پاراگرافها و بخشها سازماندهی میکند که برنامهنویسی مدولار را افزایش میدهد:
MAIN-LOGIC SECTION.
DISPLAY 'Start of the program'.
END MAIN-LOGIC.
COBOL از نظرات پشتیبانی میکند که میتواند به دو شکل باشد: ستارهها در ستون اول یا کاراکتر *
در کد:
* This is a comment
COBOL اجازه میدهد تا عملیات حسابی با استفاده از عبارت COMPUTE
انجام شود:
COMPUTE TOTAL-PRICE = ITEM-PRICE * ITEM-QUANTITY.
COBOL دستکاری رشته را با عملیاتهایی مانند STRING
، UNSTRING
ارائه میدهد:
STRING FIRST-NAME DELIMITED BY SPACE
LAST-NAME DELIMITED BY SPACE
INTO FULL-NAME.
امروزه کامپایلرها و مفسرهای متعددی برای COBOL وجود دارد، از جمله Micro Focus COBOL، GnuCOBOL و Fujitsu COBOL. هر یک از آنها پشتیبانی متفاوتی از ویژگیهای مدرن و قابلیتهای ادغام ارائه میدهند.
IDEهای محبوب برای توسعه COBOL شامل Micro Focus Visual COBOL، IBM Rational Developer for System z و Eclipse با پلاگینهای COBOL هستند. این IDEها کدنویسی، اشکالزدایی و مدیریت پروژه را آسانتر میکنند.
بهطور معمول، یک پروژه COBOL شامل ایجاد یک فایل منبع با پسوند .cob
و کامپایل آن با استفاده از یک کامپایلر مناسب است. فرآیند ساخت معمولاً شامل کامپایل کد منبع به یک فرمت اجرایی است که میتواند بر روی یک سیستم هدف اجرا شود.
COBOL عمدتاً در بخشهایی استفاده میشود که پردازش دادههای کلان ضروری است. کاربردهای آن شامل:
COBOL در تضاد با زبانهای برنامهنویسی عمومی مانند Python، Java و C# قرار دارد. نحو آن بهطور قابل توجهی مفصلتر است و بر خوانایی و منطق تجاری تأکید دارد تا بر اختصار موجود در زبانهای مدرن.
در دنیای زبانهای برنامهنویسی، COBOL بر خوانایی و نگهداری تأکید دارد که آن را برای صنایعی که وضوح و صحت در آنها از اهمیت بالایی برخوردار است، جذاب میسازد.
هنگام در نظر گرفتن ترجمه کد COBOL به زبانهای دیگر، مهم است که بر ساختار منطق تمرکز کنید نه ترجمه خط به خط. مفاهیم انواع داده، مدیریت فایل و برنامهنویسی رویهای برای حفظ یکپارچگی منطق تجاری بسیار مهم هستند.
چندین ابزار وجود دارد که میتواند به ترجمه یا تبدیل COBOL به زبانهای مدرن کمک کند، از جمله: