COBOL,一种有60年历史的计算机语言,正处于新冠肺炎的聚光灯下-随着州政府寻求修复不堪重负的失业救济金系统,他们需要熟练掌握一种在20世纪80年代初已经过时的语言的程序员。

2020-09-05 07:23:48

一些州发现自己需要懂60年历史的编程语言COBOL的人来改造陈旧的政府系统,目前这些系统正在努力处理冠状病毒危机带来的大量失业申领人数。

堪萨斯州、新泽西州和康涅狄格州在上周申请失业救济金的人数达到惊人的660万后,都经历了技术崩溃。

他们可能很难找到他们需要的程序员。这些天来,知道COBOL(通用面向商业的语言)的人并不多。但大多数大学在20世纪80年代就停止了教授这种语言。Cobol被年轻的程序员视为遗物。

加州大学洛杉矶分校计算机科学教授Peter Reiher说:“今天真的没有很好的理由去学习COBOL,20年前也真的没有很好的理由去学习它。”“今天的大多数学生都不会听说过COBOL。”

同时,由于许多银行、大公司和政府机构仍在其遗留系统中使用该语言,因此对COBOL程序员的需求很大。在Indeed.com上搜索“COBOL Developer”可返回568个工作岗位。Cobol开发人员每小时的收入从40美元到100多美元不等。

堪萨斯州州长劳拉·凯利(Laura Kelley)表示,堪萨斯州劳工部正在将系统从COBOL迁移到更新的语言,但这一努力因病毒而推迟。新泽西州州长菲尔·墨菲(Phil Murphy)想知道为什么如此古老的语言被用于至关重要的州政府系统,并将其归类为病毒暴露的政府系统中的许多弱点。

事实是,组织通常不愿更改这些旧系统,因为它们仍然有效,而且迁移到新系统的成本很高。Reiher说,大规模的升级还包括编写新的代码,其中可能包含错误。在最坏的情况下,错误可能会导致客户财务数据从旧系统转移到新系统时丢失。

COBOL虽然古老,但仍然被认为是稳定和可靠的-至少在正常情况下是这样。

Reiher说,目前州失业问题的小故障“可能不是COBOL语言或底层实现中的具体缺陷”。他说:“问题更有可能是,一些州要求他们的计算机系统在更高的规模上处理数据,让这些系统做一些从未被要求做的事情。”

COBOL是在20世纪60年代初由来自大学、主机制造商、国防和银行业以及政府的计算机科学家开发的。基于编程先驱Grace Hopper开发的想法,它是由对一种可以在各种不同类型的大型机上运行的语言的需求驱动的。

Reiher告诉我:“开发它是为了做特定类型的事情,比如库存、工资和应收账款。”“在20世纪60年代,当许多银行和政府机构第一次开始系统自动化时,它被广泛使用。”

在21世纪的这里,COBOL仍然在悄悄地做这类事情,数百万行COBOL代码仍然运行在银行和包括退伍军人事务部、司法部和社会保障管理局在内的多个政府机构使用的大型机上。2017年路透社(Reuters)的一篇报道称,43%的银行系统仍在使用COBOL。

但是,向Java、C和Python等较新语言的迁移正在通过各种行业进行,并最终将用于银行和政府使用的新系统。迁移的一个关键原因是移动平台使用较新的语言,它们依赖于与底层系统的紧密集成来按照用户的期望工作。

冠状病毒将是未来几年许多变化的催化剂,有些是好的,有些是不好的。从另一个时代的编程语言迁移出去可能是一个好的选择。