"Cổ ngữ" lập trình: 60 năm vẫn chạy tốt

HOA KIM 16/07/2022 23:30 GMT+7

TTCT - Trong thời đại của những công nghệ hào nhoáng và hàng loạt ngôn ngữ lập trình thời thượng, những người thông thạo một thứ "cổ ngữ" trong ngành lại đang được các nhà tuyển dụng săn đón.

Cổ ngữ lập trình: 60 năm vẫn chạy tốt - Ảnh 1.

Ảnh: analyticinsight

Việc Microsoft khai tử trình duyệt Internet Explorer hồi tháng 6 đã gây hoang mang tột độ đối với nhiều doanh nghiệp và cơ quan Chính phủ Nhật Bản - những khách hàng trung thành hiếm hoi còn sót lại của trình duyệt 26 năm tuổi. "Sống trên đời" được ¼ thế kỷ đã phải "ra đi", Internet Explorer vẫn kém xa một công nghệ đáng bậc "cha chú" của nó là ngôn ngữ lập trình COBOL - ra đời từ năm 1959 và vẫn được sử dụng đến tận hôm nay.

Tuổi 63 và 800 tỉ dòng mã lệnh

Caitlin Mooney (24 tuổi), sinh viên mới tốt nghiệp ngành công nghệ thông tin (CNTT) của Học viện công nghệ New Jersey (Mỹ), là người trẻ tuổi hiếm hoi chịu học và say mê ngôn ngữ hơn gấp đôi tuổi cô - COBOL. Mooney nói kiến thức về ngôn ngữ lập trình cổ xưa này không giúp cô ghi điểm trong mắt các start-up công nghệ tại Thung lũng Silicon, song nó lại là kỹ năng đang được săn lùng tại các ngân hàng lớn, công ty bảo hiểm, cơ quan chính phủ và nhiều tổ chức có bề dày lịch sử. Trong quá trình tìm việc, các nhà tuyển dụng chỉ cần nhìn vào chuyên môn về COBOL của Mooney và lập tức đưa ra đề nghị hấp dẫn, thậm chí là vị trí công việc cao hơn so với những gì cô tìm kiếm. "Họ thực sự phấn khích" - Mooney nói The New York Times và cho biết đang phải đắn đo lựa chọn giữa nhiều lời mời làm việc.

COBOL là tên gọi được ghép từ những chữ cái đầu của Common Business-Oriented Language (ngôn ngữ thương mại thông dụng), ngôn ngữ lập trình được thiết kế riêng cho các ứng dụng kinh doanh, xuất phát từ nhu cầu thực tế của thập niên 1950. Lúc bấy giờ, hầu hết các công trình khoa học máy tính đều tập trung vào tiềm năng sử dụng sức mạnh tính toán để mang lại lợi ích cho các dự án toán học và khoa học nói chung, song các tổ chức tài chính cũng đã bắt đầu nhìn thấy tiềm năng của các ứng dụng máy tính trong thế giới kinh doanh.

Năm 1959, một ủy ban gồm các cá nhân và thành viên chính phủ trong lĩnh vực xử lý dữ liệu được tập hợp để phát triển một ngôn ngữ với 3 yêu cầu: dễ đọc (cú pháp đủ đơn giản để những người không phải lập trình viên vẫn có thể hiểu); dễ di chuyển (từ máy tính này sang máy tính khác); và dễ thích ứng với sự cải tiến của công nghệ. Kết quả là sự ra đời của COBOL.

COBOL theo dự tính ban đầu chỉ là phương án tạm thời trong lúc chờ một sự thay thế tốt hơn. Tuy nhiên, việc được Bộ Quốc phòng Mỹ ủng hộ và Công ty IBM sử dụng chính thức trong các dòng máy tính lớn (mainframe) của hãng đã biến COBOL trở thành một phần quan trọng của ngành công nghiệp máy tính và hệ thống tài chính trong nhiều thập niên sau đó.

Sau 63 năm, dù trải qua vô số đợt cải tiến nhưng COBOL không tránh khỏi tụt hậu và dần bị thay thế bởi các ngôn ngữ lập trình hiện đại và được hỗ trợ tốt hơn. Gần như tất cả chương trình đào tạo ngành khoa học máy tính tại các trường đại học ngày nay đã bỏ các kiến thức chuyên sâu về COBOL ra khỏi giáo án.

Nhưng điều đó không có nghĩa COBOL sẽ biến mất khỏi thị trường trong tương lai gần. Một nghiên cứu toàn cầu công bố năm 2022 của Công ty Micro Focus cho thấy số dòng mã lệnh viết bằng ngôn ngữ COBOL đang hoạt động ước tính khoảng 775-850 tỉ dòng - không những không giảm mà còn tăng so với kết quả khảo sát trước đó. "800 tỉ dòng mã lệnh củng cố tầm quan trọng và sự đầu tư liên tục vào công nghệ hệ thống kinh doanh cốt lõi được tin cậy nhất này" - báo cáo của Micro Focus nhận xét. Không phải ngẫu nhiên mà 92% người tham gia khảo sát tin rằng vị thế hiện nay của COBOL là "chiến lược".

"Thứ gì không hỏng thì đừng sửa"

Sức sống dai dẳng của các công nghệ điện toán đã tồn tại hàng chục năm cho thấy trong một thế giới số luôn biến đổi, cái mới thường được dựng nên trên nền móng của công nghệ đi trước chứ không phải là sự đập bỏ và thay thế. Khi bạn gửi lệnh chuyển tiền trên ứng dụng e-banking của ngân hàng số, thứ thật sự giúp tiền của bạn đi đến tài khoản đối tác rất có thể là những máy tính sử dụng chung ngôn ngữ với các thiết bị được sử dụng trong nhiệm vụ Apollo đưa con người lên cung trăng của thập niên 1960.

Với nhiều người trong ngành, những điều này không nhất thiết phải là một bất lợi. "Thứ gì không hỏng thì đừng sửa - The New York Times dẫn lời Ellora Praharaj, giám đốc kỹ thuật tại Stack Overflow, một diễn đàn phổ biến trong giới công nghệ - Thời đại ngày nay, sinh viên mới ra trường không mặn mà làm việc với những ngôn ngữ cũ kỹ. Nhưng thực tế của thế giới là những ngôn ngữ này mới là thứ đang vận hành nhiều hệ thống hiện có của chúng ta".

Mức lương điển hình cho một lập trình viên COBOL đã tăng 44% trong năm qua lên gần 76.000 USD/năm, theo một cuộc khảo sát lương do Stack Overflow tiến hành. Dù mức lương này vẫn còn thấp so với nhân sự sử dụng các công nghệ thời thượng, đây vẫn cứ là mức tăng lớn nhất trong số các ngôn ngữ lập trình được khảo sát. Điều này dễ hiểu khi lĩnh vực CNTT cũng chịu sự tác động của quy luật cung - cầu cơ bản: khi không có nhiều người như Mooney muốn làm việc với COBOL, họ có quyền đòi hỏi sự đãi ngộ thích đáng. "Các lập trình viên COBOL ngày nay là một thị trường ngách chuyên biệt và họ được trả lương tương xứng" - một ứng viên viết trên bản tin công nghệ Hacker News.

Trong đại dịch COVID-19, bên cạnh khẩu trang, máy thở và nhân viên y tế thì lập trình viên COBOL cũng thuộc danh sách các nhu cầu khẩn cấp tại bang New Jersey (Mỹ). Nhiều hệ thống của bang vẫn chạy trên các máy tính sử dụng ngôn ngữ này, và việc thiếu hụt nhân lực CNTT khiến các gói hỗ trợ không thể đến tay người dân kịp thời. Các hệ thống hơn 40 năm tuổi vận hành bằng COBOL của New Jersey đã bị quá tải khi có thời điểm hơn 362.000 người dân trong bang nộp đơn nhận trợ cấp thất nghiệp cùng lúc.

Vì sao không thể đoạn tuyệt quá khứ?

Năm 1964, IBM ra mắt hệ thống mainframe IBM System/360. Cỗ máy chỉ là một chiếc tủ kim loại lớn chứa mạch điện và băng từ, song đó là những công nghệ mang tính cách mạng khi ấy, đưa các ngân hàng tiến thẳng đến tương lai số hóa. Hơn 50 năm sau, băng từ đã biến mất từ lâu nhưng theo IBM, 92 trong số 100 ngân hàng hàng đầu thế giới vẫn sử dụng các dòng máy mainframe chạy COBOL của hãng. Phần lớn trong số đó là các ngân hàng bán lẻ nhưng "một số lượng đáng kể" các ngân hàng đầu tư vẫn đang sử dụng công nghệ lâu đời này, trong đó phải kể đến Morgan Stanley, HSBC và UBS. Đây chỉ là một ví dụ về hệ thống công nghệ cũ kỹ mà các ngân hàng đang loay hoay "bỏ thì thương, vương thì tội".

"Từng có một doanh nhân ngân hàng nói với tôi rằng: Tôi không biết làm thế nào để thay đổi (hệ thống của ngân hàng) vì tôi không biết nó làm những gì. Nhưng chắc hẳn nó phải có công dụng gì đó bởi vì tôi đang chi 100 triệu USD mỗi năm tiền bảo trì’" - Frank Sanchez, chủ công ty công nghệ tài chính (fintech) Finxact, nói với trang Financial News (Anh), năm 2017. Theo trang này, các ngân hàng thường dành đến 80% ngân sách CNTT của họ cho việc bảo trì công nghệ cũ, và một ngân hàng lâu đời có thể dễ dàng chi đến 300 triệu USD mỗi năm để duy trì hệ thống hiện hữu.

Với các ngân hàng đang tìm cách cắt giảm chi phí với mong muốn bắt kịp những start-up fintech đang đe dọa thị phần - những công ty không phải chi hàng triệu USD cho phần mềm trung gian cho phép các hệ thống cũ giao tiếp với những công nghệ mới - thì chi phí và sự phức tạp của việc duy trì công nghệ cũ chưa bao giờ lớn đến thế.

Vậy điều gì đang ngăn cản họ cải tiến? Nhiều người trong cộng đồng công nghệ cho rằng các ngân hàng thậm chí không biết bắt đầu từ đâu. "Bạn muốn lấy chiếc nhẫn của mình ra khỏi hộp trang sức lộn xộn. Bạn cầm nhẫn lên, nhưng dính chùm với nó là bông tai và dây chuyền. Điều này cũng tương tự việc nâng cấp các hệ thống ngân hàng: bạn chỉ muốn chiếc nhẫn, nhưng có rất nhiều thứ khác đang dính theo nó" - Andra Sonea, trưởng bộ phận chiến lược và kiến trúc tại Tập đoàn fintech 11FS với kinh nghiệm làm việc cho cả IBM và Ngân hàng Lloyds ví von.

Đồng tình với Sonea, David Knott - kiến trúc sư trưởng công nghệ của HSBC - thừa nhận các "liên kết spaghetti" lộn xộn này là một thách thức với các nhà băng lâu đời. "Mọi thứ đều kết nối với mọi thứ khác, rút một sợi chỉ là tất cả đi theo" - ông giải thích. Mỗi tính năng được chắp vá thêm vào hệ thống hiện hữu để giúp nó tương thích với công nghệ mới lại càng làm cho việc dịch chuyển sang một hệ thống hoàn toàn mới khó khăn hơn. "Các nhà băng đang tự đào hố chôn mình" - CEO công ty fintech OpenFin Mazy Dar nói với Finance News.

Bất chấp mối đe dọa hiện hữu từ các ngân hàng số mới nổi, giám đốc điều hành tại các ngân hàng lớn hẳn không thấy lợi ích gì cho sự nghiệp của họ nếu bắt tay vào một cuộc đại trùng tu tốn kém trong khi các bản vá lỗi nhỏ hơn cũng đã đủ xài. "Nếu tôi là một giám đốc ngân hàng với mức lương cao và chỉ còn 3 năm nữa là về hưu trong khi tôi biết ngân hàng mình sẽ tồn tại ít nhất là 5 năm nữa, tại sao tôi lại phải chấp nhận rủi ro đó?" - ông Sanchez nói.■

Bên cạnh COBOL, có không ít công nghệ "tối cổ" dù đã không còn phổ biến trong đại chúng nhưng vẫn giữ sức sống bền bỉ. Cho tới trước năm 2019, đĩa mềm, sản phẩm của thập niên 1970, vẫn còn được sử dụng phổ biến trên các thiết bị giúp vận hành tàu chiến, máy bay và tên lửa hạt nhân trong quân đội Mỹ vì không sợ bị hacker tấn công.

Bình luận Xem thêm
Bình luận (0)
Xem thêm bình luận