編程語言-75%到80%的公司都想擺脫COBOL
最近,大型數據分析和風險評估跨國公司 Verisk 的軟件工程高級副總裁 Sid Mohanram 正在負責公司系統從 COBOL 編程語言中遷移出來。
Verisk 只是眾多這樣做的公司的其中一個。現在,公司們和政府正在探索除了運行世界上一些最關鍵應用程序的編程語言之外的其他選擇。
「我們的目標是擺脫大型機。」Mohanram 說道。
新冠疫情的蔓延為使用 60 年歷史的古早編程語言 COBOL 編寫核心計算機系統的機構們敲響了警鐘,在美國,新澤西州、威斯康星州、佛蒙特州、愛荷華州、堪薩斯州,甚至聯邦政府都面臨著 COBOL 程序員短缺的問題,一些系統無法在申請失業救濟金系統出現歷史性飆升的情況下維持良好運行。
但是,COBOL 程序員的短缺并不是唯一的問題。在編程語言和軟件開發的高速世界中,COBOL 已經成為一個陳舊的(盡管仍然相當可靠)的機器。
「我們在 COBOL 中實施更改的速度很慢,人們開始尋找變通辦法,」Mohanram 說,這造成了所謂「技術債務」的積累。
「開發人員說:我需要進行更改,但我太忙了,無法進行 COBOL 更改,所以我不會觸及現有的 COBOL 程序,但我會在 COBOL 之外再添加三個步驟,包括 Excel 電子表格或其他東西來應用更改。所以就有了現在這些非常過時的 COBOL 程序,以及一堆其他的東西作為獲得最終結果的變通方法。」
仍然有這么多程序使用 COBOL 的原因之一是它出奇地穩定。但如今,對于許多應用程序而言,靈活性更為重要。
「COBOL 代碼是防攻擊的,因為它幾乎從不改變,」Diffblue 的首席執行官 Mathew Lodge 說,這是一家為 Java 和其他更新的編程語言自動編寫單元測試的初創公司。「但那是舊世界了,現狀則完全相反——你必須時刻改變以保持競爭力。」
IBM 的大型機運行著世界上大部分的 COBOL 代碼,擁有一個致力于推進該技術的整個團隊,因此客戶可以繼續使用該語言。Z 是 IBM 最先進的大型計算機的品牌名稱,IBM 負責 Z 產品管理的副總裁 Barry Baker 說:「我們一直在這方面投資,哪怕僅是為了尋找工作人員,或是在工具功能和產品上幫助他們真正直觀地了解跨應用程序的數據流。」
Baker 說,用 COBOL 構建的應用程序通常沒有很好的文檔記錄,有時甚至會丟失原始源代碼的整個模塊。與此同時,設計這些應用程序的人已經退休,有時甚至已經去世。此外,測試 COBOL 程序也可能是一個問題,因為許多 COBOL 程序是在單元測試普及之前的時代編寫的。
「當測試與代碼同時編寫時,測試是最有效的,」Mohanram 說。他補充說,現在最佳實踐是先編寫單元測試,因為單元測試描述了需求,然后編寫實際函數以獲得給定輸入集的預期輸出。「單元測試將迫使開發人員編寫更容易測試的代碼。」
然而,IBM 的 Baker 表示,單元測試實際上已經為開發人員提供了相當長的一段時間。「大約 20 年前,當我還是一名開發人員時,我在自己的 IBM Z 開發中使用了測試驅動開發。」
SoftwareMining 的創始人 Cyrus Montakab 說,測試可能比翻譯更昂貴、更困難,Verisk 正在使用它的工具將 COBOL 代碼翻譯成現代編程語言。「我們一直告訴人們,現在開始翻譯,這樣你就可以在最后一個 COBOL 程序員離開之前對其進行測試。」
目前,也有 AI 工具可以支持自動編寫單元測試,這可以加快流程并節省資金,比如 Lodge 的 Diffblue 使用強化學習來自動編寫單元測試。
「如果想在現代軟件流程中使用該代碼,你不僅需要翻譯代碼,還必須提出一組單元測試來快速發現錯誤,」Lodge 說,他的公司正在幫助大型養老基金用 Java 重寫 COBOL 程序。使用自動化測試可以確保代碼質量,同時跟上市場的需求。
路透社預估,2015 年仍有 2200 億行 COBOL 代碼仍在生產中,運行著全球 43% 的銀行系統和 95% 的 ATM,包括紅綠燈、航空公司、養老基金和工資系統都定期在 COBOL 上運行。
許多公司不愿意觸碰更大的 COBOL 應用程序,只要它還能工作。「總是一再推遲,老 IT 主管說這不歸自己管,」幫助企業替換 COBOL 的公司 Astadia 的首席技術官 Walter Sweat 說。「他們不想冒險并將這件事推給下一代,但到了某個階段,必須有人處理它。」
Sweat 說,他認為退出 COBOL 是一種增長趨勢。兩年前,他采訪過的潛在客戶中只有一半希望將他們的系統遷移到不同的編程語言。現在, 75% 到 80% 已經希望擺脫 COBOL。這是因為 COBOL 程序跟不上機器學習或云集成等新的發展。
對于許多傳統銀行來說,隨著移動金融應用程序的爆炸式增長,這種編程語言可能會迎接未來的挑戰,這些應用程序允許消費者在手機上完成從基本銀行業務到商品交易的所有事情。然而,整個行業創紀錄的利潤說明了一個不同的故事,這表明這些傳統銀行已經能夠建立自己的移動應用程序,這些應用程序由運行在 COBOL 中的服務和數據支持。
Baker 表示,IBM 認為企業中使用的 COBOL 不太可能很快消失,但將關鍵應用程序翻譯成更靈活的語言比以往變得都容易。
關鍵詞: 編程語言 編程語言排行榜 編程語言有哪些 編程語言難度排名 編程語言python怎么讀 編程語言分類 編程語言排行榜2019 編程語言翻譯器 編程語言學什么好 編程語言入門學哪個好 編程語言python入門
相關閱讀
最近更新
- 06-14
- 06-14
- 06-14
- 06-13