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 ไปยังภาษาที่ทันสมัย เช่น: