COBOL (Common Business-Oriented Language) เป็นหนึ่งในภาษาการเขียนโปรแกรมระดับสูงที่เก่าแก่ที่สุด ซึ่งออกแบบมาโดยเฉพาะสำหรับแอปพลิเคชันทางธุรกิจ เปิดตัวในช่วงปลายทศวรรษ 1950 COBOL ถูกออกแบบมาเพื่อจัดการกับปริมาณข้อมูลขนาดใหญ่ที่มักพบในสภาพแวดล้อมเชิงพาณิชย์ มีไวยากรณ์ที่ยาวเหยียดซึ่งตั้งใจให้สามารถอธิบายตัวเองได้ ทำให้เข้าใจโค้ดได้ง่ายขึ้นสำหรับผู้ที่ไม่ใช่นักพัฒนา แม้ว่าจะมีอายุเกินหกทศวรรษ แต่ COBOL ยังคงถูกใช้งานอย่างต่อเนื่อง โดยเฉพาะในระบบเก่าภายในภาคการธนาคาร รัฐบาล และประกันภัย
COBOL ถูกพัฒนาขึ้นเพื่อตอบสนองความต้องการในการมีภาษามาตรฐานสำหรับแอปพลิเคชันทางธุรกิจ การประชุมครั้งแรกเพื่อหารือเกี่ยวกับ COBOL เกิดขึ้นในปี 1959 โดยมีตัวแทนจากรัฐบาลและอุตสาหกรรมเข้าร่วม เป้าหมายคือการสร้างภาษาที่สามารถประมวลผลข้อมูลทางธุรกิจซึ่งมีความหลากหลายอย่างมากในแต่ละแพลตฟอร์ม สเปคแรกถูกปล่อยออกมาในปี 1960 และความนิยมเพิ่มขึ้นในช่วงทศวรรษ 1960 เมื่อธุรกิจเริ่มเปลี่ยนจากการใช้ภาษาแอสเซมบลีไปสู่การเขียนโปรแกรมระดับสูงเพื่อการประมวลผลข้อมูลที่มีประสิทธิภาพมากขึ้น
การพัฒนา COBOL ยังคงดำเนินต่อไปในช่วงทศวรรษ 1970 และ 1980 โดยมีการปรับปรุงและพัฒนาเพิ่มเติมเพื่อเพิ่มฟังก์ชันการทำงานและประสิทธิภาพ ANSI ได้ทำการมาตรฐาน COBOL โดยมีการปล่อยเวอร์ชันที่ปรับปรุงในปี 1974, 1985 และ 2002 แม้ว่าจะมีการแนะนำภาษาการเขียนโปรแกรมที่ทันสมัยมากขึ้น COBOL ยังคงมีบทบาทสำคัญในโลกขององค์กร โดยเฉพาะอย่างยิ่งเนื่องจากการลงทุนมหาศาลในแอปพลิเคชัน COBOL ที่มีอยู่
ปัจจุบัน COBOL ยังคงถูกใช้งานอย่างแพร่หลาย โดยเฉพาะในสภาพแวดล้อมของเมนเฟรม ระบบเก่าหลายระบบยังคงทำงานหลักในสถาบันการเงินและภาครัฐ โครงการสมัยใหม่ได้พยายามรวม 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 สนับสนุนความคิดเห็นซึ่งสามารถมีได้สองรูปแบบ: ดอกจันในคอลัมน์แรกหรืออักขระ * ในโค้ด:
* นี่คือความคิดเห็น
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 ไปยังภาษาที่ทันสมัย เช่น: