版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系我們

“老古董”——Cobol語(yǔ)言

CCF計(jì)算機(jī)科普
由中國(guó)計(jì)算機(jī)學(xué)會(huì)主辦,提供優(yōu)質(zhì)的計(jì)算機(jī)科普內(nèi)容。
收藏

一、小白劇場(chǎng)

大東:話說因?yàn)橐咔?,美?guó)好幾個(gè)州都發(fā)出了一份特殊的招募:急聘懂Cobol的程序員,甚至還把新澤西州的州長(zhǎng)都“驚動(dòng)了”,在直播上親自上陣開出55-85美元的時(shí)薪。

小白:按理說,美國(guó)的程序員一抓一大把,厲害的更是不少,招募程序員似乎不是啥難事,但為啥好像還挺不容易的樣子?

大東:事情是這樣的,因?yàn)橐咔閷?duì)經(jīng)濟(jì)造成了巨大沖擊,不少人無(wú)奈的失業(yè)下崗,只好先領(lǐng)領(lǐng)失業(yè)救濟(jì)金,就把從未承受過這么大流量的政務(wù)系統(tǒng)給“擠”癱瘓了。

(圖片來自網(wǎng)絡(luò))

小白:的確如此,這個(gè)時(shí)候肯定就需要人來維護(hù)了嘛!

大東:然而,這門至今被廣泛部署于政府和企業(yè),金融、航空等重要領(lǐng)域的大型機(jī)中的高級(jí)程序設(shè)計(jì)語(yǔ)言Cobol,其實(shí)是計(jì)算機(jī)世界中不折不扣的“古董”。

小白:怎么說?

二、“老古董”Cobol

大東:它誕生于1959年,迄今為止已經(jīng)61歲了,在快速迭代的計(jì)算機(jī)世界里,算得上“古老”,不少代碼的“年紀(jì)”,都有好幾十年,甚至比一些程序員的年齡都大。更何況,計(jì)算機(jī)語(yǔ)言的發(fā)展,使得已經(jīng)幾乎沒有人在教授這門語(yǔ)言,導(dǎo)致年輕一代的程序員很少會(huì)使用Cobol,而第一批使用他們的程序員都到了退休的年紀(jì),甚至有網(wǎng)友表示,灣區(qū)某現(xiàn)代科技公司招聘Cobol程序員,而來面試人員中,最年輕的都有63歲……

小白:這么說來,Cobol曾經(jīng)是軟件開發(fā)的大哥大?

大東:Cobol的全盛時(shí)期是在20世紀(jì)70年代,這意味著美國(guó)大多數(shù)的Cobol專家,很可能已經(jīng)60多歲了,他們中的許多人可能很久都沒有使用Cobol做開發(fā)了。

小白:給我講講關(guān)于Cobol以前的事情吧?

大東:Cobol語(yǔ)言,是一種面向過程的高級(jí)程序設(shè)計(jì)語(yǔ)言,主要用于數(shù)據(jù)處理,是目前國(guó)際上應(yīng)用最廣泛的一種高級(jí)語(yǔ)言。它是專門為企業(yè)管理而設(shè)計(jì)的高級(jí)語(yǔ)言,可用于統(tǒng)計(jì)報(bào)表、財(cái)務(wù)會(huì)計(jì)、計(jì)劃編制、作業(yè)調(diào)度、情報(bào)檢索和人事管理等方面。

(圖片來自網(wǎng)絡(luò))

小白:Cobol語(yǔ)言主要有哪些特點(diǎn)呢?

大東:一是面向文件,將處理對(duì)象按一定方式組織成文件,記錄在計(jì)算機(jī)的外部設(shè)備上;二是接近英語(yǔ)自然語(yǔ)言,大量采用普通英語(yǔ)詞匯和句型;三是通用性強(qiáng),數(shù)據(jù)、運(yùn)行環(huán)境和處理過程是分別單獨(dú)描述的;四是功能模塊化,實(shí)現(xiàn)功能模塊化,它對(duì)每一種功能模塊的特性、語(yǔ)義及限制作了嚴(yán)格的規(guī)定。

小白:剛剛在網(wǎng)絡(luò)上搜索了關(guān)于Cobol的信息,發(fā)現(xiàn)它由四個(gè)部分組成:標(biāo)識(shí)部、環(huán)境部、數(shù)據(jù)部、過程部。

大東:標(biāo)識(shí)部,用于標(biāo)識(shí)程序名;環(huán)境部,用于說明程序運(yùn)行的環(huán)境;數(shù)據(jù)部,用于說明程序中涉及的所有數(shù)據(jù);過程步,是程序的核心部分,它決定計(jì)算機(jī)應(yīng)進(jìn)行什么操作。

小白:Cobol還有數(shù)據(jù)特點(diǎn)。

大東:從層次概念來說,數(shù)據(jù)間存在的從屬關(guān)系;從文件概念來說,多個(gè)記錄可以組成一個(gè)文件;從記錄概念來說,具有一定層次關(guān)系的一組數(shù)據(jù)項(xiàng)的最大集合,它是內(nèi)存中具有獨(dú)立邏輯含義的最大存取項(xiàng),具有最高層次。

三、過時(shí)不輕視

小白:可是就算是這樣,Cobol已經(jīng)過時(shí)了。

大東:可以這么說,但依賴Cobol所引發(fā)的危險(xiǎn),并不最近才出現(xiàn)的新問題。

小白:這樣看來,Cobol程序員有過返聘經(jīng)歷?

大東:大概在25年前,許多行業(yè)專家發(fā)出警告,稱合格Cobol程序員的供應(yīng)正在急劇減少。當(dāng)時(shí)為了處理千年蟲(Y2K)相關(guān)的修復(fù)工作,一些Cobol程序員不得不在退休后重新返聘。

小白:還真有這樣的?

大東:還有呢,一位 60 多歲的 Cobol程序員在 2012 年遭到解雇,被年輕程序員替代,但 2014 年原雇主又找到了他,去修復(fù)管理層沒有預(yù)料的問題。一位 70 多歲的 Cobol 程序員都已經(jīng)用上了吸氧器,每天早上仍要搭乘政府派來的警車,前往辦公室工作。

小白:Cobol現(xiàn)狀如何?

大東:雖然市場(chǎng)規(guī)模很難精確地制定,但我們確實(shí)知道,目前運(yùn)行Cobol系統(tǒng)的組織有數(shù)萬(wàn)個(gè)。我們無(wú)法估計(jì)每天有幾千萬(wàn)終端用戶使用基于Cobol的應(yīng)用程序,但這種語(yǔ)言的依賴性顯而易見,全球70%的是處理系統(tǒng)都使用它。

小白:疫情導(dǎo)致的失業(yè)問題似乎讓Cobol火了一把。

大東:不過,因?yàn)檫@種短期需求而去專門從事 Cobol 的開發(fā)似乎并不明智。自上世紀(jì) 90 年代以來,美國(guó)的許多專家便建議更換基于 Cobol的系統(tǒng),否則系統(tǒng)維護(hù)將變得越來越難。但由于替換成本較高,這一建議一直未能實(shí)施。在國(guó)內(nèi),只會(huì) Cobol 語(yǔ)言的程序員也存在就業(yè)面窄等問題。比較常見的操作是,許多程序員在進(jìn)入特定行業(yè)之后才開始學(xué) Cobol,以滿足實(shí)際工作需要。

小白:其實(shí),這次Cobol的安全事件,算是給人警醒了。

大東:不過,好在,新澤西州州長(zhǎng)Murphy表示,在公開招募Cobol后,已經(jīng)有一些人表示自愿提供幫助。希望早日解決問題吧!