据国外媒体报道,新冠病毒疫情暴露了美国一些部门计算机系统老化、难以更新的问题,它们也缺乏专家人才来解决这些问题。政府向数百万新失业人口发放数十亿美元经济救助的行动,因为一种有60年历史的古老编程语言而受到延缓。
美国政府3月底通过了2.2万亿美元救助法案,当中包括每周增加600美元的失业救济金。但在国家机构更新技术系统来落实法案并处理大量涌现的新申请之前,这笔钱不会落到任何人手里。
俄克拉何马州正试图尽快落实救助法案,但是一些失业救助申请目前需要长达两周的时间来处理,因为政府的大型计算机是运行在一种有60年历史的被称为COBOL的编程语言上。
俄克拉荷马州就业安全委员会执行主任罗宾·罗伯森(Robin Roberson)说,“这是救助法案实施过程中最大的问题。我们的大型主机已经有30多年的历史了。它很难编程,它做不了什么。而且COBOL程序员有些稀缺。”
9个星期前,罗伯森开始上任,任务之一是升级这个系统,但是还没取得任何实际进展,疫情便袭来。她说,俄克拉何马州的其它政府机构以及其它地区也面临着类似的问题。
康涅狄格州劳工部告诉人们要有耐心,它正在与专家们合作更新COBOL代码来实施政府救助计划。本月早些时候,新泽西州州长菲尔·墨菲(Phil Murphy)也呼吁COBOL程序员来帮助处理该州的计算机问题。
人才短缺
多年来,COBOL人才短缺的状况一直在加剧,原因包括科技行业的势利、正规培训有限、专家队伍老化、雇主不愿给这种稀缺人才提供优厚薪酬等等。
“这是一场灾难。”75岁的马哈茂德·埃泽尔丁(Mahmoud Ezzeldin)说。他在保险公司蓝十字蓝盾和美国国税局从事COBOL计算机系统工作有几十年的时间。“COBOL很难学,而且不是专为互联网设计的。大学毕业生喜欢学一些简单的东西,我不能怪责他们。”
埃泽尔丁住在华盛顿特区附近,他愿意义务帮助缓解此次COBOL难题。值得一提的是,他已经退休了。据市场研究公司Gartner估计,COBOL程序员的平均年龄超过60岁。它在2004年进行统计时发现该编程语言有200万专家,估计这个数字每年下降5%。相比之下,据瑞银(UBS)的数据,软件开发者总数约为2500万。
通常,当一种编程语言的需求超过了称职的程序员的供应时,科技行业就会相应做出调整。近年来,大学里的计算机科学课程增加了很多,市面上也开设了不少的编程训练营,意在快速培训人们学习使用Java、Python和其他的语言。但是COBOL的情况不一样。
COBOL出现于1950年代末,当时高校还没有开设计算机科学课程。由于没有学术界的支持,许多COBOL程序员是在政府机构以及保险、银行和航班预订等领域的工作中学习这门编程语言的。他们被视作科技行业的蓝领工人。
“我真的不建议现在的学生学习COBOL。所有的相关工作都是维护什么的,没什么吸引力。”斯坦福大学退休教授吉欧·维德霍尔德(Gio Wiederhold)说道。斯坦福大学培养了大量的计算机科学家,他们毕业以后很多都到苹果、Facebook、谷歌等硅谷科技巨头工作。维德霍尔德说,自从1979年到了斯坦福大学以后,他就再也没有教过COBOL。
去年,在一份敦促多个机构将重要的旧式技术现代化的报告中,美国政府问责局26次提及COBOL。
HP Marin Group公司首席技术官菲尔·特普利茨基(Phil Teplitzky)说,目前仍有多达2400亿行COBOL代码在使用。该公司致力于帮助企业更好地利用旧式计算系统。
几乎没有什么文档记载解释这些系统是如何在几十年前建立起来的,因此政府机构和企业常常依赖于程序员去记住它们是如何做成的——特普利茨基称COBOL是“民间传说”。他说,许多COBOL专家已经不在人世了,但现在的救助法案需要对代码进行重大修改,很少人懂得怎么做。
“意大利面条式代码”
COBOL代码是以旧式方式编写,这让它也难以更新。现代计算语言把程序分成若干块,每一块都有特定的用途。而COBOL程序员往往是将所有的东西编织在一起,这意味着更改某一部分的代码会破坏或禁用程序的其他部分。这种现象被称为“意大利面条式代码”,这是该语言最大的一个难题。它也让编程工作变得非常艰难,非常耗时。
运行COBOL的大型计算机大多数是由IBM生产的。多年来,该公司一直在帮助客户寻找COBOL专家,也在努力说服新的受训人员接手相关工作。上周,它宣布了一个新的培训课程,向初学者教授COBOL,并让有经验的专业人士重新学习。
“人们开始注意到这样一个事实,即有些关键的计算系统可能没有得到关注。” IBM副总裁巴里·贝克(Barry Baker)表示,“这是一次推销COBOL和老式技术的机会,可以借此来教导孩子们从事一些很有意义的事情。”
Gartner分析师托马斯·克利内克特(Thomas Klinect)认为,在招募人员来维持这些机器的运行上,公司和其他组织机构必须拿出更多的诚意。当中包括提高薪酬。
“看那些招聘信息,你会发现它们都是些初级职位,但要求有20年的工作经验。”他说道,“雇主只想付给你3.5万美元的年薪。”
现年53岁的思科首席执行官查克·罗宾斯(Chuck Robbins)说,他刚出来工作时就是在美国银行的前身意大利银行做COBOL程序员。
“值得高兴的是,我记得,COBOL并不是那种难度很大的编程语言,”他说,“我相信有些年轻人能学懂。”
关键词: