天天看點

60多歲的COBOL,50歲的碼農:今天仍有8000億行代碼!

60多歲的COBOL,50歲的碼農:今天仍有8000億行代碼!

新智元報道

編輯:David

【新智元導讀】COBOL語言已經誕生超過60年了,今天全球依然存在8000億行代碼正在運作,為何它的生命力如此強大,遲遲不「退休」?

有資料表明,一種被越來越少的開發人員掌握的,已有 60 年曆史的程式設計語言支援的應用程式比以前想象的要多得多。

這門語言名叫COBOL。

根據 IT 現代化公司 Micro Focus 的一份報告,目前全球每天使用的 COBOL 代碼超過 8000 億行,大約是預期的三倍。

60多歲的COBOL,50歲的碼農:今天仍有8000億行代碼!

更重要的是,幾乎一半的受訪開發人員實際上預計,其組織中的 COBOL 數量将在未來 12 個月内增加,而類似比例的人表示,他們預計 COBOL 應用程式至少還能再存在十年。

新冠帶來的「COBOL 難題」

圍繞 COBOL 語言的一種典型說法是,熟悉該語言的開發人員數量的減少,可能會導緻嚴重的問題,因為它在政府和銀行等部門提供了各種各樣的任務關鍵型應用程式。

例如,在新冠大流行初期,這門古老的程式設計語言就一度登上了媒體的頭條。據CNN 報道,面對疫情,美國各州政府都表示 COBOL 程式員出現了嚴重短缺。

60多歲的COBOL,50歲的碼農:今天仍有8000億行代碼!

紐澤西州州長菲爾·墨菲(Phil Murphy)呼籲志願者掌握如何使用這門已有數十年曆史的計算機程式設計語言,因為該州的許多系統仍在較舊的大型機上運作,底層支援正是COBOL。

該州有 36.2萬名居民申請失業,已有 40 年曆史的大型機一度因缺乏合格的運維人員而不堪重負。

60多歲的COBOL,50歲的碼農:今天仍有8000億行代碼!

目前,在美國國土安全部、榮民事務部的系統都在使用COBOL,它可以自動為員工、計時員、工資單和主管提供時間和考勤;可以蹤榮民提出的福利、資格和死亡日期索賠請求;

國土安全部的系統負責跟蹤目前和以前的招聘計劃,并對招聘職位和個人的相關資訊進行維護。

2019 年,64% 的大型機驅動組織計劃在平台上運作一半以上的關鍵任務,比 2018 年的 57% 有所增加。

60多歲的COBOL,50歲的碼農:今天仍有8000億行代碼!

路透社2017年的一份報告顯示,今天仍有 2200 億行 COBOL 代碼正在使用, 43% 的銀行系統和 95% 的ATM刷卡裝置仍然依賴于這門古老的計算機程式設計語言。

60多歲的COBOL,50歲的碼農:今天仍有8000億行代碼!

而在COBOL開發人員的平均年齡上,大部分程式員位于45-55歲年齡段,可以說是幾乎是「大爺級」了。

60多歲的COBOL,是如何誕生的?

COBOL(Common Business-Orientated Language)語言誕生于上世紀50年代,是最早的高階程式設計語言、以及是世界上最早實施标準化的計算機語言之一,屬于編譯語言的一種。

60多歲的COBOL,50歲的碼農:今天仍有8000億行代碼!

計算機科學家Grace Hopper 正在指導一個開發早期 COBOL 應用程式的團隊

COBOL專為特定目的而設計,最初是作為美國國防部協助資料處理計劃的一部分而建立的,後來被計算機制造商推動,促進了它的廣泛采用。從那時起,它的可讀性、簡單性和可重複性使其成為程式設計人員不可或缺的一部分。

與英語一樣,COBOL 也有一定程度的普遍性。實際上我們每天都在使用 COBOL,無論我們是否知道,它都會繼續影響我們的生活。銀行、保險、物流、零售、政府部門,可以說幾乎任何時候,我們都在與 COBOL 應用程式打交道。

60多歲的COBOL,50歲的碼農:今天仍有8000億行代碼!

像英語一樣,COBOL也在不斷疊代更新,以滿足新需求,支援新技術,今天它仍然支援從老式批處理任務,到新式移動應用程式的背景等所有内容。

許多大企業仍然使用流利的 COBOL,該語言擅長在大型機上執行大規模的批處理和事務處理操作。路透社指出,銀行業是對COBOL最青睐的行業之一,這對金融業的重要性不言而喻,COBOL 系統在金融業處理的日常業務量估計達 3 萬億美元。

此外,存款賬戶、卡網絡、ATM、抵押服務、貸款分類記賬等服務背後都有COBOL的身影。

60多歲的COBOL,50歲的碼農:今天仍有8000億行代碼!

目前,盡管 COBOL 在新一代開發人員中已基本過時,但許多企業并不打算放棄該語言。

市場調查機構MicroFocus認為,大多數依賴 COBOL 的公司 (64%) 更傾向于對其應用程式進行現代化改造,而不是用其他語言重寫和替換。

同時,92% 的受訪者表示,COBOL 繼續對其業務具有戰略上的重要性。

古老的程式設計語言,為何今天還在用?

有人在Quora上提問:為什麼用了50-60年的古老程式設計語言,今天還在繼續廣泛使用?

一位自稱有着25年程式設計經驗的老程式員表示,最早期的程式員都是專家級,對軟硬體系統特性的掌握程度很高。而「一個軟體的長期穩定性的原因是參與設計、開發、維護和測試它的軟體開發人員的專業知識。」

60多歲的COBOL,50歲的碼農:今天仍有8000億行代碼!

還有人表示,幾十年過去,對整個系統進行完全替換和重寫的成本太高。既然舊系統仍舊能用,還不如繼續維護。

60多歲的COBOL,50歲的碼農:今天仍有8000億行代碼!

另外一個重要原因是,當時的COBOL早期程式和應用的編寫者,熟知COBOL系統的專門用途,而大部分廣泛應用COBOL的金融、銀行、保險等系統,其軟體功能不需要其他行業那麼高的疊代速度,也缺乏推倒重來的動力。

用Micro Focus COBOL 産品營銷總監 Ed Airey的話說,「市場上大量的 COBOL 應用程式代碼為組織帶來了巨大的價值,需要持續投資,作為更大的現代化戰略的一部分。對于支援核心業務系統的 IT 上司者而言,COBOL 應用程式的現代化是實作數字化轉型的核心。」

參考資料:

https://www.techradar.com/news/this-ancient-programming-language-is-way-more-common-than-we-all-thought

https://www.quora.com/Why-are-banks-still-using-COBOL-Is-it-because-the-cost-of-switching-is-so-high

https://www.cnbc.com/2020/04/06/new-jersey-seeks-cobol-programmers-to-fix-unemployment-system.html

繼續閱讀