大齡程序員再就業(yè):美國(guó)州長(zhǎng)急聘,需精通上古編程語言COBOL
近日,新澤西州州長(zhǎng) Phil Murphy 在新聞發(fā)布會(huì)上說,現(xiàn)在政府急需能夠使用 COBOL 語言的程序員,幫助修復(fù)已經(jīng)使用了 40 多年的失業(yè)保險(xiǎn)系統(tǒng),時(shí)薪為 55 美元至 85 美元。
是的,你沒看錯(cuò)。但 COBOL 又是什么?
這是一種非常古老的編程語言,COBOL 的鼎盛時(shí)期在上世紀(jì) 70 年代,這意味著,大部分的美國(guó) COBOL 程序員可能都已經(jīng)超過 60 歲了。
受到疫情的影響,企業(yè)倒閉的浪潮也席卷而來,失去工作的人數(shù)突然暴增,眼下新澤西州正忙于處理因失業(yè)引發(fā)的救濟(jì)申請(qǐng)。過去兩周內(nèi),新澤西州已經(jīng)堆積了超過 36 萬份失業(yè)救濟(jì)申請(qǐng),其中一半尚未支付,以至于用了好幾十年的失業(yè)系統(tǒng)已經(jīng)不堪重負(fù)。
但問題在于,這門過于古老的編程語言,數(shù)十年來都沒有在大學(xué)里教授過了,市場(chǎng)上恐怕也沒有幾位掌握 COBOL 的程序員。
或許,程序員「退休返聘」的機(jī)會(huì)真的來了。
COBOL:編程語言中的活化石
COBOL(Common Business-Oriented Language,面向商業(yè)的通用語言)是一種面向過程的高級(jí)程序設(shè)計(jì)語言,主要用于數(shù)據(jù)處理,是目前國(guó)際上應(yīng)用最廣泛的一種高級(jí)語言。它采用 300 多個(gè)英語單詞作為保留字,以一種接近于英語書面語言的形式來描述數(shù)據(jù)特性和數(shù)據(jù)處理過程,因而便于理解和學(xué)習(xí)。
COBOL 語言是專門為企業(yè)管理而設(shè)計(jì)的高級(jí)語言,可用于統(tǒng)計(jì)報(bào)表、財(cái)務(wù)會(huì)計(jì)、計(jì)劃編制、作業(yè)調(diào)度、情報(bào)檢索和人事管理等方面。它的主要特點(diǎn)包括:面向文件、接近英語自然語言、通用性強(qiáng)、功能模塊化等。
這門古老的語言誕生于 1959 年,由「計(jì)算機(jī)軟件工程第一夫人」格蕾絲·赫柏(Grace Hopper)創(chuàng)建。格蕾絲·赫柏是耶魯大學(xué)第一位女博士、美國(guó)第一位女性海軍將軍,她還發(fā)明了世界上第一個(gè)編譯器——A-0 系統(tǒng)。
但到了 20 世紀(jì) 80 年代末,它已經(jīng)顯得非常過時(shí)了,以至于許多大學(xué)甚至沒有將其納入計(jì)算機(jī)科學(xué)課程。盡管今天肯定還有 COBOL 系統(tǒng)在使用,但是 50 歲以下的軟件開發(fā)人員很少有人見過,更不用說寫了,甚至連一行 COBOL 都沒接觸過。就連在高盛 (Goldman Sachs) 任職數(shù)十年、現(xiàn)年 62 歲的新澤西州州長(zhǎng)最近似乎也沒有聽說過這個(gè)名字,以至于無法正確地記住它。
如今 COBOL 也已經(jīng) 60 多歲了。這么多年里,計(jì)算機(jī)行業(yè)發(fā)生了翻天覆地的變化,各種編程語言也是層出不窮,但神奇的是,COBOL 并沒有退出歷史舞臺(tái),反而一直是美國(guó)政府,商業(yè)和銀行業(yè)務(wù)的支柱。
參與維護(hù)基于 COBOL 的系統(tǒng)工作的公司表示,95%的 ATM 交易通過 COBOL 程序,80%的現(xiàn)場(chǎng)交易依賴于它們,超過 40%的銀行仍然使用 COBOL 作為其系統(tǒng)的基礎(chǔ)。
因?yàn)?COBOL 有著「魯棒、彈性、安全」的優(yōu)點(diǎn),從未被黑客入侵過,并且至今仍可以正常工作。
用 COBOL 編寫的程序,也有著「執(zhí)行難度低、不容易出現(xiàn)編譯錯(cuò)誤」等優(yōu)點(diǎn)。
能 work,但終究是「年紀(jì)大了」
自從上世紀(jì) 90 年代開始,美國(guó)的許多行業(yè)專家便開始建議更換基于 COBOL 的系統(tǒng),否則系統(tǒng)維護(hù)將變得越來越難,也會(huì)存在越來越多的安全漏洞。
2016 年,還有專家在向美國(guó)國(guó)會(huì)提交的「聯(lián)邦機(jī)構(gòu)需要更新老化系統(tǒng)」的報(bào)告中,提到了替換 COBOL 的重要性。
歸根結(jié)底,COBOL 確實(shí)已經(jīng)跟不上這個(gè)時(shí)代的步伐了。
有人開玩笑說:「一千行 COBOL 才能打出一首俳句?!?/p>
不過這件事也說明,年紀(jì)大的程序員還是有自己的「用武之地」……
實(shí)際上,還有一些古老的編程語言,至今也會(huì)廣泛應(yīng)用在一些特殊行業(yè)中。
目前仍有少數(shù)高校還在開設(shè) COBOL 和 Fortran 這類小眾編程語言的課程,只不過教材都要追溯到上個(gè)世紀(jì)了。
寫代碼這么多年,你曾經(jīng)學(xué)過哪種小眾的編程語言嗎?