新澤西州州長最近提到了一種有60年曆史的程式語言COBOL。到底是什麼?為什麼它仍然是金融界的關鍵,儘管很少有人知道如何使用它?
格蕾絲·霍珀是一種現象。她在耶魯大學獲得數學博士學位,是瓦薩爾大學的教授,並以海軍少將的軍銜離開了美國海軍。她對計算機領域的貢獻可以從她記憶中建立的基金會和程式的數量來判斷。國家能源研究科學計算中心以她的名字命名了克雷XE6超級計算機。海軍還以她的名字命名了其導彈驅逐艦“霍珀”號。這艘船的座右銘“Aude et Effice”(“敢作敢為”)很可能是在霍珀的腦子裡造出來的。
為了創造一種比計算機所能理解的機器程式碼更接近英語的程式語言,霍珀開發了第一個編譯器。這為第一批編譯語言打開了大門,比如FLOW-MATIC。這為她贏得了1959年資料系統語言會議/委員會(CODASYL)的席位。
她還參與了通用面向業務語言(COBOL)的規範和開發。第一次會議於1959年6月23日舉行,隨後於1960年4月舉行了報告和COBOL語言規範。
COBOL包含了一些開創性的概念。可以說,其中最重要的是能夠在不同**商生產的硬體上執行,這在當時是前所未有的。
這種語言精巧,為程式設計師提供了近乎英語的詞彙。它被設計用來處理大量的資料,並且在數學上非常精確。
它的保留詞彙(組成語言的詞彙)接近400個。程式設計師將這些保留字串在一起,使它們具有語法意義並建立程式。
任何熟悉其他語言的程式設計師都會告訴你,400是一個數量驚人的保留字。相比之下,C語言有32個,Python有33個。
COBOL的另一個怪癖是它嚴格要求某些程式行從某些列開始。這是打孔卡時代的宿醉。今天,程式設計師在格式化COBOL時有了更多的自由,不再需要用大寫字母鍵入所有內容。這使得使用它的規定性和必要性降低,但它仍然是時代的產物,如下所示:
IDENTIFICATION DIVISION. PROGRAM-ID. Hello-World. DATA DIVISION. FILE SECTION. WORKING-STORAGE SECTION. PROCEDURE DIVISION. MAIN-PROCEDURE. DISPLAY "Hello world, from How-To Geek!" STOP RUN. END PROGRAM Hello-World.儘管看起來很笨重,COBOL在推出時還是革命性的。它在金融部門、聯邦**以及主要公司和組織中受到青睞。這歸功於它的可伸縮性、批處理能力和數學精度。它被安裝在全世界的大型機上,生根發芽,蓬勃發展。就像頑固的野草,它不會死。
我們對仍在COBOL上執行的系統的依賴是驚人的。路透社2017年的一份報告分享了以下令人瞠目結舌的統計資料:
如您所見,如果不使用依賴COBOL的系統,很難度過一天。銀行賬戶和支票結算服務,以及面向公眾的基礎設施,如自動取款機和紅綠燈,仍然執行在這個幾十年前編寫的程式碼上。
懂COBOL的程式設計師要麼退休了,想著退休,要麼就死了。我們正逐漸失去那些有能力維持這些重要系統正常執行的人。年輕的新程式設計師不懂COBOL。大多數人也不想在需要維護舊程式碼或編寫新程式碼的系統上工作。
這是一個如此嚴重的問題,比爾辛肖,一個COBOL老兵,被迫退休,找到COBOL牛仔。這傢俬人諮詢公司迎合了那些在任何地方都找不到精通COBOL的程式設計師的絕望的公司客戶。COBOL Cowboys(其座右銘是“不是我們的第一次牛仔競技”)的“年輕人”已經50多歲了,他們相信財富500強90%的業務系統都是在COBOL上執行的。
當然,並非只有私營企業、公司和銀行需要對大量的金融資料進行數字處理。聯邦、省和地方**服務機構有相同的要求。像所有其他人一樣,他們使用大型機和COBOL來實現這一點。
冠狀病毒大流行的可怕影響導致了企業主、僱員和個體經營者的心碎、死亡和經濟不確定性。新澤西州大量的休假和解僱員工導致州長呼籲有經驗的COBOL程式設計師來幫助該州老化的後端系統。這些機構正疲於應付32.6萬人的新登記。
開放式大型機專案正在執行一個基於志願者的計劃來提供幫助。如果你認為你能幫忙,他們會很高興收到你的來信。
新澤西州並不是唯一陷入這種困境的。超過一千萬人登記失業,而且這個數字還在上升。康涅狄格州正努力在該州已有40年曆史的系統上處理25萬個新註冊。
這是一個廣泛而深刻的問題。**問責辦公室(Government Accountability Office)2016年的一份報告列出了執行在主機上長達53年的COBOL系統。這些系統包括用於處理與退伍軍人事務部、司法部和社會保障管理局有關的資料的系統。
升級這些遺留系統並不像聽起來那麼簡單。這些體系是至關重要的,全天候的支點,金融界、**界和商界都以此為支點。程式碼是舊的、多層次的,而且常常是不好的或完全沒有文件記錄的。它也必須一直起作用。這種前景被比作從飛機上取下螺旋槳,並試圖在空中安裝噴氣發動機。
撇開風險不談,遷移到現代系統的經濟論據也是一個艱難的論據。投入這些大型機和COBOL應用程式執行的資金是驚人的。當COBOL程式碼仍在執行和起作用時,機構是否應該拋棄它並重新開始?對於一個技術上不太傾向的董事會來說,這是一個艱難的決定。COBOL遷移既不便宜,也不快。
辛肖說:“我剛剛完成了從COBOL到Java的轉換。“他們花了4年時間,還沒做完。”
2012年,澳大利亞聯邦銀行(Commonwealth Bank of Australia)更換了其核心COBOL平臺,歷時5年,最終耗資7.499億美元(10億澳元)。
那就是一切按計劃進行的時候。由於收購,TSB英國銀行被迫在2018從一個基於COBOL的系統遷移。不太順利。因為銀行幾天都無法交易,移民的成本最終達到3.3億英鎊。這是在實際遷移的工程工作預算費用之外。在金融系統崩潰期間,TSB還因金融欺詐損失了4910萬英鎊。
客戶賠償金超過1.25億英鎊,銀行不得不花費1.22億英鎊**新員工來處理20.4萬起客戶投訴案件。執行長辭職,事件發生兩年後,公司仍在清理損失。
事情不能保持現狀,但採取行動的前景很難吸引人。然而,事情會變得更好的唯一方法是進行有控制的、謹慎的遷移到現代軟硬體。
要在不中斷、資料丟失和停機的情況下實現這一目標,需要現代專業技術和資金,這是等式的50%。另一半是COBOL的專業知識和時間。不幸的是,這兩種成分我們都快用完了。
也許一種新的COBOL牛仔會騎馬進城。
... 你有沒有想過為什麼會這樣?讓我們來探討一下PDF是如何工作的,為什麼它們很重要,以及它們仍然如此受歡迎的原因。 ...
...地位,這導致了Firefox之前web的停滯。 activex控制元件是什麼? ActiveX控制元件是一種可以嵌入到其他應用程式中的程式。Microsoft將它們用於多種用途例如,可以在Microsoft Office文件中嵌入ActiveX控制元件。然而,在這裡,我們關注...
...擊。一看到它,人們就會厭惡地畏縮。你很清楚我說的是什麼字型(即使你忽略了標題),為什麼每個人都討厭連環畫? 漫畫Sans是一種似乎永遠存在的字型。在字型世界中,它和Times New Roman和Arial一樣具有標誌性。誰創造了漫...
...程式要求你的位置,我們從來沒有真正停下來思考他們為什麼要問你的位置。 《****》最近發表了一份爆炸性的報告,詳細說明了應用程式在你身上有多少位置資料(比你想象的要多),以及它們如何利用這些資料從定向廣告中...
...唯一Windows版本,它只是一個必須提供的選項。這就是為什麼“N”版本只在歐洲提供。 同樣,2005年,韓國公平貿易委員會(koreafair Trade Commission)發現微軟濫用壟斷地位,損害了競爭對手的多媒體和簡訊應用程式。它罰款微軟320...