COBOL คืออะไร และทำไมยังไม่ตาย?
COBOL (Common Business Oriented Language) คือภาษาคอมพิวเตอร์ที่ถูกสร้างขึ้นตั้งแต่ปี 1959 เพื่อเป็นภาษากลางสำหรับระบบธุรกิจและการเงิน แม้ปัจจุบันโลกจะเข้าสู่ยุค AI, Cloud Computing และ Big Data แต่ COBOL ยังคงเป็นโครงสร้างพื้นฐานสำคัญของระบบธนาคาร รัฐบาล และสถาบันการเงินทั่วโลก
เหตุผลที่ COBOL ยังอยู่รอดไม่ใช่เพราะเป็นภาษาที่ทันสมัยที่สุด แต่เพราะมันมีคุณสมบัติที่ระบบการเงินต้องการมากที่สุด คือ:
- ความเสถียรสูง
- ความถูกต้องในการคำนวณ
- รองรับธุรกรรมจำนวนมหาศาล
- Backward Compatibility ที่ยอดเยี่ยม
ปัจจุบันมีโค้ด COBOL มากกว่า 220,000 ล้านบรรทัด ที่ยังทำงานอยู่ทั่วโลก และมีการประเมินว่าธุรกรรมทางการเงินจำนวนมหาศาลในแต่ละวันยังคงผ่านระบบที่เขียนด้วย COBOL
จุดกำเนิดของ COBOL และปัญหาที่โลกต้องแก้
ยุคคอมพิวเตอร์ที่ยังไม่มีมาตรฐานกลาง
ในช่วงทศวรรษ 1950 คอมพิวเตอร์ยังเป็นเครื่องจักรขนาดใหญ่ที่มีราคาแพงมาก
ปัญหาหลักในยุคนั้นคือ:
- แต่ละบริษัทใช้ภาษาคอมพิวเตอร์แตกต่างกัน
- โปรแกรมที่เขียนบนเครื่องหนึ่งไม่สามารถรันบนอีกเครื่องได้
- ต้องเสียเวลาแปลซอฟต์แวร์ใหม่ทุกครั้งเมื่อเปลี่ยน Hardware
รัฐบาลสหรัฐฯ พบว่าต้นทุนการแปลโปรแกรมบางครั้งสูงกว่าต้นทุนของเครื่องคอมพิวเตอร์เอง
สงครามเย็นและแรงผลักดันจากเพนตากอน
หลังจาก:
วันที่ 4 ตุลาคม 1957
สหภาพโซเวียตประสบความสำเร็จในการส่งดาวเทียม:
Sputnik
สหรัฐฯ เกิดความกังวลด้านเทคโนโลยีและความมั่นคง
รัฐบาลจึงเร่งลงทุนด้าน:
- คอมพิวเตอร์
- วิทยาศาสตร์
- ระบบประมวลผลข้อมูล
ทำให้เกิดความต้องการ:
ภาษาคอมพิวเตอร์กลางที่ทุกองค์กรสามารถใช้งานร่วมกันได้
Grace Hopper – ผู้หญิงเบื้องหลัง COBOL
จากนักคณิตศาสตร์สู่ผู้ปฏิวัติวงการ Software
Grace Hopper
คือบุคคลสำคัญที่สุดคนหนึ่งในการสร้าง COBOL
เธอมีพื้นฐาน:
- ปริญญาเอกคณิตศาสตร์จาก Yale University
- นายทหารกองทัพเรือสหรัฐฯ
- นักวิทยาศาสตร์คอมพิวเตอร์
ต้นกำเนิดคำว่า Bug
Grace Hopper มีเรื่องราวโด่งดังจากเหตุการณ์:
เครื่องคอมพิวเตอร์ Mark II เกิดปัญหา
ทีมงานพบ:
- แมลงเม่าติดอยู่ในอุปกรณ์ Relay
จึงนำออกมาและบันทึกเหตุการณ์ไว้
เหตุการณ์นี้กลายเป็นหนึ่งในที่มาของคำว่า:
Computer Bug
ที่ใช้เรียกข้อผิดพลาดของโปรแกรมมาจนถึงปัจจุบัน
Flow-Matic จุดเริ่มต้นของภาษาที่มนุษย์อ่านได้
ก่อน COBOL:
Grace Hopper พัฒนา:
Flow-Matic
ซึ่งเป็น Compiler รุ่นแรก ๆ ที่สามารถแปลงคำสั่งภาษาใกล้เคียงภาษาอังกฤษให้คอมพิวเตอร์เข้าใจ
แนวคิดสำคัญคือ:
คนทำธุรกิจควรสามารถอ่านและเข้าใจโปรแกรมได้
แนวคิดนี้กลายเป็นพื้นฐานของ COBOL
การถือกำเนิดของ COBOL
การประชุมสร้างภาษากลางปี 1959
เดือนเมษายน 1959:
กระทรวงกลาโหมสหรัฐฯ เรียกผู้เชี่ยวชาญจาก:
- IBM
- Remington Rand
- นักวิทยาศาสตร์คอมพิวเตอร์
เพื่อสร้างภาษาใหม่
เป้าหมาย:
“เขียนครั้งเดียว ใช้ได้กับคอมพิวเตอร์หลายยี่ห้อ”
เดือนธันวาคม 1959:
ข้อกำหนด COBOL รุ่นแรกเสร็จสมบูรณ์
ปาฏิหาริย์ปี 1960
โปรแกรม COBOL ชุดเดียวสามารถรันได้บน:
- Remington Rand Univac
- RCA 501
โดยแทบไม่ต้องแก้ไขโค้ด
นี่เป็นจุดเปลี่ยนครั้งใหญ่ของวงการ Software
ทำไม COBOL ถึงเหมาะกับระบบธนาคาร?
Readable Code
COBOL ถูกออกแบบให้มนุษย์อ่านง่าย
โครงสร้างหลักแบ่งเป็น 4 ส่วน:
1. Identification Division
ข้อมูลเกี่ยวกับโปรแกรม
2. Environment Division
รายละเอียด Hardware และระบบ
3. Data Division
การกำหนดข้อมูล
4. Procedure Division
ขั้นตอนการทำงาน
แนวคิดคือ:
ผู้จัดการธนาคารที่ไม่ใช่นักเขียนโปรแกรมสามารถอ่านและเข้าใจระบบได้
ยุคทองของ COBOL และ Mainframe
IBM System/360 ผลักดัน COBOL
ปี 1964:
IBM เปิดตัว:
System/360
ด้วยเงินลงทุนมหาศาล
และรองรับ COBOL อย่างเต็มรูปแบบ
ผลลัพธ์:
- ธนาคารเลือกใช้ COBOL
- หน่วยงานรัฐเลือกใช้ COBOL
- บริษัทประกันเลือกใช้ COBOL
COBOL กลายเป็นมาตรฐานของระบบธุรกิจขนาดใหญ่
ทำไมธนาคารไม่ยอมเปลี่ยน COBOL?
เพราะโค้ดเก่าคือคัมภีร์ธุรกิจ
ระบบธนาคารไม่ได้เป็นเพียงโปรแกรม
แต่สะสม:
- กฎภาษี
- เงื่อนไขดอกเบี้ย
- กฎธุรกรรม
- กรณีพิเศษนับล้าน
ตลอด 50 ปี
การเขียนใหม่หมายถึง:
- เริ่มจากศูนย์
- เสี่ยงเกิด Bug ใหม่
- อาจทำข้อมูลผิดพลาด
ตัวอย่างความล้มเหลวจากการเปลี่ยนระบบ
Commonwealth Bank Australia
พยายามเปลี่ยนระบบ:
ปี 2008-2013
ใช้เงิน:
ประมาณ 750 ล้านดอลลาร์
แต่ไม่สำเร็จตามเป้าหมาย
TSB Bank UK
ปี 2018:
ย้ายระบบครั้งใหญ่
ผล:
- ลูกค้าเกือบ 2 ล้านคนเข้าใช้งานไม่ได้
- จ่ายค่าชดเชยกว่า 32 ล้านดอลลาร์
- เสียค่ากู้ระบบเพิ่มอีกจำนวนมาก
วิกฤต Y2K และ COBOL
ปัญหาเลขปี 2 หลัก
ระบบ COBOL รุ่นเก่าจำนวนมากเก็บปีเป็น:
99
แทน:
1999
เมื่อเข้าสู่ปี 2000:
ระบบอาจเข้าใจว่า:
00 = 1900
ความเสี่ยง:
- ระบบธนาคารผิดพลาด
- ดอกเบี้ยคำนวณผิด
- ระบบรัฐบาลเสียหาย
ทั่วโลกต้อง:
- ดึงโปรแกรมเมอร์ COBOL รุ่นเก่ากลับมา
- ตรวจสอบโค้ดจำนวนมหาศาล
ใช้งบประมาณรวมหลายแสนล้านดอลลาร์
COBOL ในยุคปัจจุบัน
วิกฤตโควิดและระบบเก่า
ปี 2020:
หลายรัฐในสหรัฐฯ พบปัญหาระบบจ่ายเงินช่วยเหลือว่างงาน
สาเหตุ:
ระบบยังใช้ COBOL
จนต้องประกาศหานักพัฒนา COBOL รุ่นเก่า
ปัญหาขาดแคลนโปรแกรมเมอร์
ปัจจุบัน:
- โปรแกรมเมอร์ COBOL จำนวนมากอายุมากกว่า 55 ปี
- คนรุ่นใหม่ไม่ค่อยเรียนภาษาเก่า
แต่บริษัทเทคโนโลยียังพยายาม:
- เชื่อม COBOL กับ Cloud
- ใช้ AI ช่วยวิเคราะห์โค้ด
- เชื่อมต่อ Python กับ COBOL
บทเรียนธุรกิจจาก COBOL
1. เทคโนโลยีเก่าไม่ได้แปลว่าไม่มีค่า
COBOL อายุเกิน 60 ปี
แต่ยังทำงานสำคัญที่สุดของโลกการเงิน
2. Stability บางครั้งสำคัญกว่า Innovation
ระบบธนาคารไม่ได้ต้องการของใหม่เสมอไป
แต่ต้องการ:
- ถูกต้อง
- ปลอดภัย
- ไม่ล่ม
3. Legacy System คือสินทรัพย์และภาระพร้อมกัน
ข้อดี:
- ผ่านการพิสูจน์มานาน
- เสถียรสูง
ข้อเสีย:
- ดูแลยาก
- ขาดคนรู้ระบบ
FAQ
Q1: COBOL คืออะไร?
A: COBOL คือภาษาคอมพิวเตอร์สำหรับงานธุรกิจและการเงิน ถูกสร้างขึ้นในปี 1959 และยังถูกใช้ในระบบธนาคารทั่วโลก
Q2: ใครเป็นผู้สร้าง COBOL?
A: COBOL เกิดจากความร่วมมือของหลายองค์กร โดยมี Grace Hopper และแนวคิดจากภาษา Flow-Matic เป็นพื้นฐานสำคัญ
Q3: ทำไมธนาคารยังใช้ COBOL?
A: เพราะระบบ COBOL มีความเสถียรสูง รองรับธุรกรรมจำนวนมหาศาล และมี Logic ทางธุรกิจสะสมมาหลายสิบปี
Q4: COBOL จะหายไปหรือไม่?
A: แม้จะลดบทบาทลง แต่ระบบสำคัญจำนวนมากยังต้องใช้ COBOL และมีการนำ AI กับ Cloud มาช่วยต่อยอด
Q5: COBOL เกี่ยวข้องกับ Y2K อย่างไร?
A: ระบบ COBOL รุ่นเก่าจำนวนมากใช้การเก็บปีแบบ 2 หลัก ทำให้เกิดความกังวลเมื่อเข้าสู่ปี 2000