新冠疫情初期,美國新澤西州州長曾公開承認一個尷尬的事實:他們找不到會COBOL的程序員了。該州的失業保險系統是用這門60年歷史的編程語言編寫的,需要更新以處理數十萬份申請。問題是,州政府里幾乎沒人知道怎么操作。
這不僅僅是新澤西州的問題。據估算,僅2020年一年,COBOL的低效就給美國GDP造成了1050億美元的損失。然而,新澤西州的新系統雖然在用戶體驗上有所改進,后端仍然依賴運行這門古老語言的大型機。
COBOL全稱"通用商業導向語言",是歷史上使用最廣泛的計算機語言。到2000年時,全球已編寫的3000億行代碼中,80%都是用COBOL寫的。它至今仍支撐著大量政府系統,如機動車記錄和失業保險;每天處理的交易金額高達約3萬億美元。
COBOL于1959年由包括Grace Hopper在內的美國計算機行業委員會首次提出。它的設計初衷是用 plain English 編寫,讓任何人——甚至非程序員——都能使用。大多數COBOL版本允許使用數百個單詞(相比之下Java只允許68個),包括"is"、"then"、"to"等,以降低編寫門檻。
然而,COBOL的設計也帶來了問題。它使用了被開發者深惡痛絕的GO TO語句,這種無條件跳轉機制讓程序像"意大利面條"一樣難以理解。著名計算機科學家Edsger Dijkstra曾直言:"使用COBOL會削弱思維能力,因此教授COBOL應該被視為犯罪。"
但COBOL確實實現了兩個最重要的目標:真正的機器無關性和快速普及。它使用定點而非浮點運算的特性,使其非常適合金融應用,這也是它在金融 sector 無處不在的原因。
如今,IBM等公司正試圖銷售由生成式AI驅動的COBOL轉換工具。但簡單的轉換往往產生"JOBOL"——一種模仿COBOL結構但失去其可讀性的混亂代碼。COBOL就像數字石棉:曾經無處不在,現在極難、極危險地難以移除。只要全球金融系統繼續依賴它,這門60歲的編程語言就將繼續存在下去。
![]()
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.