美國急招精通"上古"語言COBOL的程序員:80歲碼農"被迫營業"?

大家好,我是 零日情報局

本文首發於公眾號 零日情報局,微信ID:lingriqingbaoju


最近,高齡程序員和口罩一樣,成為美國政府的稀缺資源。

由於新冠疫情全球大流行,造成美國各地區數百萬人員失業。僅在3月15日至4月4日之間,政府相關網站就收到了1680萬份失業申請,失業率甚至超過了2008年金融危機時的最高水平。

失業索賠的增加導致美國多地失業登記、社保系統超負荷運轉,這些瀕臨崩盤的老舊系統成為當前最為棘手的社會障礙。


美國急招精通

像全國大多數州一樣,科羅拉多州的失業人數創歷史新高。但是,該州的失業系統建立在COBOL編碼語言運行的軟件之上。該軟件運行了幾十年以來,COBOL程序員已經嚴重老齡化,迫使美國在發生危機時爭奪COBOL程序員。

想要克服這個障礙,就必須從其根源入手,美國政府急需COBOL程序員搶救老化系統,說到這問題就來了——


美國急招精通

COBOL被稱為編碼語言中的"上古語言",到如今幾乎沒有程序員具備維護舊版COBOL應用程序的技能。


60年上古語言近乎絕跡

COBOL程序員出現年齡斷層

1959年之前,當時幾乎每個計算機制造商都在使用自己開發的編程語言,導致硬件升級、跨公司間的計算機管理困難重重。

為了解決這個問題,美國國防部聯合政企、計算機廠商,以及Grace Hopper在內的計算機程序研究人員啟動了著名的數據系統語言會議CODASYL,COBOL由此誕生。


美國急招精通

到了1970年,COBOL發展成為第一個被廣泛使用的高級編程語言,被大量應用於統計報表、財務會計、情報檢索和人事管理等方面。直到20世紀80年代,它仍然是商業語言的首選

發展至2000年之後,隨著蘋果、谷歌、亞馬遜等企業雲數據處理的興起,COBOL晦澀、複雜的弊端開始顯現,與硅谷新興科技公司運作開始脫軌。新一代的程序員青睞更現代的語言,從20世紀80年代末開始,許多大學不再就已經將COBOL納入計算機科學課程。


儘管IBM等製造商還在提供與COBOL兼容的系統,COBOL這個古老的語言,仍舊支撐著美國司法部、退伍軍人事務部、社保管理局等大量內部機構運作。

但隨著時間流逝,COBOL程序員出現了年齡斷層,更現代的C、Java、Python等編程語言成為主流,撐起美國政府、銀行及商業等業務核心的上古語言瀕臨絕跡。


80歲碼農再就業?

疫情期間COBOL迎來短暫春天

當程序員老齡化日趨嚴重時,古董語言的弊端就開始凸顯了。

4月5日,美國新澤西州州長公開急聘COBOL 程序員,幫助修復已經使用了 40 多年的失業保險系統。新澤西州驟增的失業救濟申請,讓COBOL架構的"老爺車"系統積壓了幾十萬申請。


美國急招精通


不幸的是,這種情況在美國絕非個例。根據The Verge的調查發現,美國至少有12個州,包括阿拉斯加,康涅狄格州,加利福尼亞州,愛荷華州,堪薩斯州和羅德島州等,都在使用COBOL語言寫的失業系統,想必大家面對的問題都是一樣的。

面對這種棘手的情況,政府開始面向社會緊急招聘COBOL程序員,各行業紛紛行動起來。

作為 COBOL 背後的創始組織之一,IBM聯合Linux基金會的Open Mainframe Project啟動了COBOL論壇和免費培訓課程。


美國急招精通

CobolCowboys、USDigital Response等職業介紹機構和公益機構,也開始發揮"橋樑"作用,為個體程序員與其技能相符合的公共或私營機構項目進行匹配。

但我們看到的是,由於COBOL語言已經逐漸被淘汰,眾多身懷絕技的COBOL程序員,多為中老年退休、返聘群體。就拿Cobol Cowboys機構的一位成員來說,曾是COBOL 語言開發者的同事,現在也已有80多歲高齡了。

廉頗老矣,也得上陣殺敵,中老年COBOL碼農們亦是如此。


表面上看,受到疫情影響,導致COBOL這個上古語言迎來了第二春。但是,在零日看來,晦澀難懂的編程語言仍在支撐全球多數政企系統,而陳舊的系統又難以支持新時代政企機構運轉,才是問題的關鍵所在。


COBOL成安全危機"替罪羊"

系統遷移更待何時?

科羅拉多州勞工和就業部的發言人說,在疫情流行之前,該州只有一名全職COBOL程序員維護著陳舊的系統,令人惋惜的是,離科羅拉多州遷移新系統僅一兩個月之遙。

在科羅拉多州之外,還有許多地區系統亟需更新。美國政府問責局(GAO)曾在報告中提到,十個州政府系統優化迫在眉睫,每年用於維護COBOL語言支撐的陳舊系統就要花費3.37億美元左右。

直至2017年,COBOL仍然架構了全球約95%的ATM機、43%的銀行系統,而在美國,這一比例明顯要更高。在這種狀態下的政府和企業系統正面臨怎樣的安全現狀?

首先,系統頁面加載速度、高訪問量處理能力均無法達到標準,系統負荷過大導致業務崩盤。

這一點正是大家有目共睹的事實,驟增的失業申請直接拖垮了美國各州的失業保障相關網站。

其次,系統安全性嚴重不足,直接導致未知的漏洞和各類網絡攻擊難以防範。當前老化系統掌握著全球金融業的運轉命脈,而疫情將這個缺點暴露在大眾眼前。這意味著一個可怕的事實,網絡攻擊者完全可以藉此癱瘓這些年久失修的系統。

舊系統的維護成本更高,網絡安全風險更大,且工作效率低下難以滿足業務預期目標,而一旦系統出現危機,COBOL就是那個"替罪羊"。

希望經此一"疫",及時遷移系統能夠獲得足夠的重視。


零日反思

《編程之道》一書中曾提到過,"不論多麼的微不足道,每種語言都有它自己的目的,每種語言都表達了軟件的陰陽兩極。每種語言都各得其道。但是儘量不要用COBOL語言。"很難說,不是預料到了今天這種局面。

在眾多"廉頗"解決當務之急後,是時候重新考慮各自系統遷移問題了。


零日情報局作品

微信公眾號:lingriqingbaoju

如需轉載,請後臺留言

歡迎分享朋友圈


參考資料:

[1] The Verge《幾乎沒有人知道的一種編碼語言正在阻止失業檢查》

[2] 機器之心Pro 《80歲COBOL碼農:「扶我起來,這個bug我會修。」》


美國急招精通


分享到:


相關文章: