Một ngôn ngữ lập trình được đề xuất lần đầu vào năm 1959 vẫn đang vận hành các hoạt động tài chính hiện đại như quẹt thẻ, rút tiền ATM, kiểm tra số dư qua ứng dụng ngân hàng, nhận trợ cấp hoặc chuyển tiền giữa các tài khoản. Theo một bài luận năm 2026 trên Wired, COBOL xử lý khoảng 3.000 tỷ USD giao dịch tài chính mỗi ngày, dù con số này chỉ là ước tính quy mô chứ không phải đồng hồ đo thời gian thực.

COBOL là gì và tại sao nó vẫn tồn tại?

COBOL là viết tắt của Common Business-Oriented Language, được thiết kế để xử lý dữ liệu kinh doanh với cú pháp gần với tiếng Anh hơn là ký hiệu toán học. Ngôn ngữ này phù hợp với số học điểm cố định, giúp xử lý tiền chính xác hơn so với số thực dấu phẩy động. Các chương trình COBOL chạy trên mainframe có độ tin cậy và thông lượng cao, phục vụ bảng lương, hàng tồn kho, hồ sơ bảo hiểm, hồ sơ chính phủ và tài khoản ngân hàng.

Tại sao ngân hàng không thay thế COBOL?

Việc thay thế COBOL không đơn giản như dịch mã nguồn. Hàng thập kỷ quy tắc ngân hàng, thay đổi quy định, sáp nhập và xử lý ngoại lệ đã được nhúng sâu vào chương trình. Một hệ thống sổ cái không chỉ là phần mềm mà còn là ký ức thể chế. Thay thế nó giống như thay móng khi tòa nhà đang có người ở và mỗi phòng phải giữ nguyên địa chỉ. Vì vậy, nhiều tổ chức chọn cách xây dựng giao diện trung gian (wrapper) và hiện đại hóa dần thay vì thay thế toàn bộ.

Cuộc khủng hoảng nhân lực COBOL

Một nghiên cứu năm 2021, "Contemporary COBOL: Developers’ Perspectives on Defects and Defect Location", chỉ ra rằng hệ thống mainframe đang thiếu hụt lực lượng phát triển khi thế hệ lập trình viên COBOL hiện tại nghỉ hưu. Các lập trình viên mới gặp khó khăn vì tài liệu COBOL công khai hạn chế và vấn đề bảo trì khác biệt so với hệ sinh thái ngôn ngữ hiện đại. Theo báo cáo của Reuters năm 2017, các chuyên gia COBOL giàu kinh nghiệm có thể kiếm hơn 100 USD/giờ khi được gọi để sửa lỗi, viết lại tài liệu hoặc tích hợp hệ thống mới với cũ.

Hệ thống chính phủ cũng phụ thuộc vào COBOL

COBOL cũng hiện diện trong các hệ thống chính phủ xử lý thuế, trợ cấp, đăng ký xe, bảo hiểm thất nghiệp và các khoản thanh toán khác. Đại dịch COVID-19 cho thấy sự phụ thuộc này khi một số hệ thống trợ cấp thất nghiệp của Mỹ gặp khó khăn vì thiếu người hiểu mã nguồn cũ. Vấn đề không phải COBOL lỗi thời mà là thiếu hụt nhân lực để thay đổi hệ thống dưới áp lực.

AI có thể dịch COBOL không?

Có những công cụ hứa hẹn phân tích, tài liệu hóa hoặc dịch COBOL sang ngôn ngữ mới, bao gồm cả AI tạo sinh. Tuy nhiên, dịch không đồng nghĩa với thay thế. Nếu hệ thống được hiểu kém, tự động chuyển đổi sang Java có thể giữ nguyên cấu trúc cũ nhưng làm mất đi sự quen thuộc giúp bảo trì. Kết quả là mã mới vẫn hoạt động như cũ nhưng ít người hiểu tại sao. Con đường hiện đại hóa nghiêm túc thường bao gồm kiểm kê, tài liệu hóa, kiểm thử, chuyển đổi theo giai đoạn, chạy song song và xác minh cẩn thận.

COBOL tồn tại vì nó giải quyết một vấn đề chưa bao giờ biến mất: tài chính hiện đại cần hồ sơ chính xác, quy trình lặp lại, xử lý giao dịch khối lượng lớn và hệ thống chạy trong nhiều năm. Ngôn ngữ này không còn trung tâm văn hóa trong lập trình, nhưng vẫn là trung tâm kỹ thuật ở những nơi mà thất bại có chi phí đắt đỏ. Khoản phí cao cho chuyên gia COBOL thực chất là trả cho khả năng chạm vào mã cũ mà không phá vỡ hiện tại – một kỹ năng hiếm có.

Theo Space Daily

Ảnh: fancycrave1 / Pixabay