xs
xsm
sm
md
lg

ภาษาคอมพิวเตอร์โบราณที่น่าจะไม่มีวันตาย ภาษาโคบอล !!!

เผยแพร่:   ปรับปรุง:   โดย: ผศ.ดร.อานนท์ ศักดิ์วรวิชญ์


ภาพเอเอฟพี
ผศ.ดร.อานนท์ ศักดิ์วรวิชญ์
สาขาวิชาพลเมืองวิทยาการข้อมูล
สาขาวิชาสถิติศาสตร์
สาขาวิชาวิทยาการประกันภัยและการบริหารความเสี่ยง
สาขาวิชาวิเคราะห์ธุรกิจและวิทยาการข้อมูล
คณะสถิติประยุกต์ สถาบันบัณฑิตพัฒนบริหารศาสตร์


วันนี้ อานนท์ เขียนเรื่องไอที บ้างนะครับ เรื่องที่อานนท์ทำงานเป็นอาชีพ หาเลี้ยงชีพมานานครับ

วันนี้เกิดปัญหาระบบคอมพิวเตอร์ล่มกันทั่วโลก จอฟ้าจากคราวด์สไตรค์ ทำให้นึกได้ว่าบางทีเทคโนโลยีสารสนเทศเก่าๆ ก็เสถียรดี มีปัญหาน้อยเหมือนกัน คิดไปคิดมาคงไม่มีอะไรอมตะเท่าภาษาโคบอลอีกแล้ว

ภาษาโคบอลนั้นเป็นภาษาโบราณมีมาตั้งแต่ปี 1960 หรือเมื่อเกือบ 65 ปีก่อน

มีคนวิจารณ์และไม่ชอบมันเยอะ บอกว่า structure ของภาษาไม่ดี และปัญหาอื่น ๆ อีกมาก แต่มันกลับอยู่ยงคงกระพัน

Core Banking เกือบทั้งหมด เขียนด้วยภาษาคอมพิวเตอร์ภาษาโบราณครับ คือภาษา COBOL ครับ ธนาคารเก่าแก่ทั้งหลาย ที่เราไปฝากเงินถอนเงิน ธุรกรรมหลักทั้งหมดทั้ง ไม่ว่าจะที่ Teller ที่ Counter ธนาคาร หรือที่ตู้ ATM หรือกระทั่ง Mobile Banking หรือ Internet Banking ตัว core banking ที่ดูแลธุรกรรม (Transaction) ทั้งหมด ของธนาคารพาณิชย์ขนาดใหญ่ ก็เขียนด้วยภาษาโคบอลทั้งนั้นครับ

ภาษาโคบอลนั้น พัฒนากันมา 50-60 ปี แล้ว เป็นภาษาที่เขียนง่าย ไวยากรณ์คล้ายภาษาอังกฤษมาก แต่เขียนกันยาวๆ เลยครับ

ตัว core banking แม้จนทุกวันนี้ก็ยังพัฒนาต่อเนื่องด้วยภาษาโคบอล ธนาคารพาณิชย์ขนาดใหญ่ของไทยแทบทุกเจ้า ต้องการ programmer หรือ developer ที่เขียนโปรแกรมภาษาโคบอลได้

ทำไม core banking ไม่เปลี่ยนไปใช้ภาษาอื่นๆ เช่น Java หรือ Python ภาษาโปรแกรมมิ่งรุ่นหลังๆ มีอีกเยอะแยะ พัฒนาไปมาก มี studio หรือ framework ช่วยให้เขียนโปรแกรมได้ง่ายๆ และดีกว่ากันมาก

แต่แทบทุกธนาคารพาณิชย์ขนาดใหญ่ของไทยยังไม่ยอมอพยพ (migrate) ออกจากภาษาโคบอล

ประการแรก โปรแกรมเก่าแก่ที่เขียนด้วยภาษาโคบอล มีความเสถียร (Stable) ผ่านการแก้ bug และจุดบกพร่องต่างๆ มานับไม่ถ้วน การเขียนโปรแกรมด้วยภาษาใหม่ต้องมาไล่แก้ bug และไม่อาจจะมั่นใจได้ว่าจะเสถียรเท่าของเก่าครับ

ประการสอง ธุรกรรมต่างๆ ของธนาคารผ่าน core banking นั้น 24 ชั่วโมง เจ็ดวัน ไม่มีหยุดแม้แต่นาทีเดียว เป็น real time ทั้งหมด เราเลยโอนเงิน ถอนเงิน ฝากเงิน กันได้ทั้งวันทั้งคืน และธุรกรรมแต่ละวันนั้นมหาศาล ไม่อาจจะสะดุดได้ migrate ได้ยากเหลือเกิน และไม่อาจจะมั่นใจได้ว่า ระบบใหม่ที่พัฒนาด้วยภาษาใหม่จะราบรื่นไม่สะดุด

ประการสาม core banking ของธนาคารต่างๆ เชื่อมโยงต่อกัน เช่น สมัยก่อนก็มี national ATM pool ซึ่งสมัยนี้แปลงร่างเป็น prompt pay ไปเรียบร้อยแล้ว ถ้า core banking ของธนาคารใดธนาคารหนึ่งสะดุดล่มเพราะอพยพออก ธนาคารที่เหลือจะถูกจุกช่องขวางทางแล้วล่มกันหมดทั้งประเทศทุกธนาคาร เอาได้ง่ายๆ ความเสียหายจะมหาศาลและจะถูกด่าขรม เหตุการณ์นี้เคยเกิดแล้วครับ ธนาคารสี (ไม่เอ่ย) ทำให้คนไทยรับเงินเดือนช้าไปวันสองวัน เพราะทุกธนาคารล่มกันหมด แล้วไปขวางทางธนาคารอื่นด้วย ก็คิดดูแล้วกันว่าจะขนหัวลุกกันขนาดไหน

ประการสี่ การพัฒนา applications หรือ web service หรือแม้แต่ mobile applications สามารถพัฒนาต่อจาก core banking เดิมที่เขียนด้วยภาษาโคบอลในลักษณะของ Shell หรือเปลือก แล้วรับส่งข้อมูลต่อกันไปได้ หน้าบ้าน front end applications จะสวยงาม ทันสมัย ไฉไล หน้าตาดี ก็ใช้ภาษาอื่นๆ เขียน สะดวกง่ายดาย ไม่เป็นปัญหา แต่ back end คือตัว core banking ก็มี shell ด้วยโปรแกรมที่เขียนด้วยภาษาอื่นมาห่อเอาไว้

ประการห้า ภาษาโคบอลเองก็มีการพัฒนาให้ขึ้นมาทำงานในสภาพแวดล้อมให้มันดีขึ้น ประสิทธิภาพมากขึ้น เช่นมี Visual COBAL หรือ version ใหม่ๆ ของโคบอล ที่วิ่งบน Virtual machine หรือ system architecture ที่มันซับซ้อนก็ได้ คือตัวภาษาโคบอลเอง ก็ยังขายได้ ไม่มี end of life ยังมีคนซื้อใช้ ยังมีคนดูแล ยังทำเงินได้ ก็ของมันต้องใช้และมันยังขายได้ทำรายได้ได้

ที่น่าคิดคือ หาคนเขียนภาษาโคบอล ยากขึ้นเรื่อย คนสอนภาษาโคบอลก็ตายกันไปเยอะแล้วครับ แต่ธนาคารพาณิชย์ของไทย (และของโลก) ก็ยังคงใช้ COBAL กันในการพัฒนา Core Banking กันไปอีกนานครับ

แต่ก็ไม่แน่ ถ้าธนาคารพาณิชย์ เป็นธุรกิจที่ถูก digital disruption ล้มไปทั้งหมด Core banking ของธนาคารพาณิชย์ ก็จะไม่จำเป็นต้องดำรงอยู่อีกต่อไป เมื่อนั้นภาษาโคบอลก็คงจะตายไป


กำลังโหลดความคิดเห็น