【51CTO.com原创稿件】美国新泽西州的州长 4 月 5 日在电视上宣布当地银行急需 COBOL 程序员来处理政府财务系统的一些问题,包括最近大量增加的失业补助支票的发放等等。

图片来自 Pexels

新泽西州州长在急求 COBOL 程序员

最近美国新泽西州州长菲儿·墨菲正在紧急招聘精通 COBOL 这个古老编程语言的程序员,帮助修复已经使用了 40 多年的失业保险系统,时薪为 55 美元至 85 美元。

由于疫情的缘故,许多美国人失业了,他们那边的操作流程是失业就可以申请领取救济金,但新泽西的失业救济系统就是由 COBOL 语言写的,不仅十分古老,而且效率极其低下,新泽西已经累积了几十万救济申请没有审核发放,所以州长墨菲才公开招聘的。

这是跨越半个多世纪的二次开发需求啊!谁敢接手?现在网传去应聘的程序员最小年龄都在 60 岁以上!(PS:还真不如重新招标写个新系统……)

微博网友@光头博士也证实了此事:

我所在的新泽西州的州长刚刚在电视上宣布现在急需 COBOL 程序员来处理政府财务系统的一些问题,包括最近大量增加的失业补助支票的发放等等。

真的是活久见,COBOL,诞生于 1959 年,被伟大的 Grace Hopper 的工作启发的早期编程语言。

才知道这种正宗化石级的编程语言现在还在世界上大量使用。。。如果按照代码量来算的话应该是世界第一。

当然部分原因是 COBOL“效率”很低,我在评论里看到了“需要一千行 COBOL 才能打印出一首俳句”这种笑话。

而且使用这些陈年老代码的居然还都是特别重要的领域:金融,政府,航空公司。所有的银行,保险公司,金融机构都在大量使用 COBOL 写的程序。

这些代码每天都在管理着世界上巨量的财富,然而大部分代码的年龄都超过了 25 年。

现在早就没有人会在大学里学 COBOL 了,所以真的能维护这些代码的也都是“老兵”程序员了。

图三有个评论说自己在一个湾区的科技公司,为了银行间的业务衔接需要 COBOL 程序员,来面试的最年轻的 63 岁。

不过这件事也说明,程序员好像也会越老越吃香的。

60 岁的 COBOL 凭什么活到现在?

COBOL 将比我们所有人都活得更久,知道为什么吗?

计算机最初有机器语言和汇编程序,两者在使用上都不容易。自从后来出现了 COBOL,一切都变了。

①早期计算机语言的由来

我开始是在 IBM 360 汇编机上编程的。在计算机的早期,唯一的机器语言是汇编程序。

在那些日子里,计算机科学真的是“科学”。显然,需要一种更简单的语言来为那些笨重的大型机编程。

COBOL 语言于 1959 年 9 月命名,成为面向业务的通用语言。最初,格蕾丝·霍珀(Grace Hopper)提出了这一基本思想,并推动了它的发展。

虽然她对这门语言做出了贡献,但这并不完全归功于她,还有一位功臣是玛丽·霍斯(Mary Hawes)。

她是 Burroughs 公司的一名程序员,在业务开发过程中发现需要一种计算机语言。

1959 年 3 月,霍斯提议创造一种新的计算机语言。它将有一个类似英语的词汇表,可以跨不同的计算机执行基本的业务任务。

霍斯说服霍珀等人创建一种与供应商无关的、可互操作的计算机语言。霍珀建议他们向美国国防部(DoD)寻求资助,并将其纳为该语言的潜在客户。

商业 IT 专家对此表示同意。1959 年 5 月,41 名计算机用户和制造商在五角大楼举行了会议。在那里,他们成立了数据系统语言会议(CODASYL)临时委员会。

该委员会借鉴了早期的商业计算机语言,如雷明顿·兰德大学(Remington Rand UNIVAC)的《FLOW-MATIC》,它主要由格蕾丝·霍珀(Grace Hopper)撰写和 IBM 翻译,委员会认为 COBOL 编程语言应该像英语那样通用化。

但是,即使有了国防部、IBM 和 UNIVAC 的支持,COBOL 的前进道路仍然不明朗。霍尼韦尔提出了自己的语言 FACT,作为未来的商业编程语言。

在当时一段时间内,早期的业务开发人员似乎是 FACT 程序员而不是 COBOL 程序员,但是当时的硬件无法支持 FACT。因此,COBOL 再次占据了主导地位。

②COBOL——商业语言的首选

到那年 9 月,COBOL 的基本语法已经确定下来,COBOL 程序在 1960 年夏天开始运行。

1960 年 12 月,COBOL 程序通过在两个不同供应商的计算机上运行而被证明是真正可互操作的。

COBOL 正式成为第一种真正的商业编程语言。直到 20 世纪 80 年代,它仍然是商业语言的首选。

2016 年,政府问责局(GAO)报告称,国土安全部(Department of Homeland Security)、退伍军人事务部(Department of Veterans Affairs)和社会保障局(Social Security Administration)等部门仍在使用 COBOL。

据一家咨询公司 COBOL Cowboys称,COBOL Cowboys 至今仍在使用 2000 亿行 COBOL 代码,《财富》500 强企业中 90% 的公司仍在使用 COBOL 代码。

而且,如果您通过 ATM 提取现金,那么可以肯定 COBOL 正在幕后运行。

今天,COBOL 继续由 Micro Focus 管理并运营。在一次电子邮件采访中,Micro Focus 的全球产品营销总监 Derek Britton 说:

虽然市场规模很难精确地预计,但我们可以肯定,目前运行 COBOL 系统的组织有数万个。

我们估计每天有几千万终端用户使用基于 COBOL 的应用程序,这种语言的依赖性显而易见,全球 70% 的事务处理系统都使用这种语言。

这是什么意思?布里顿解释说:

任何时候你打电话呼叫服务中心,或者联系政府部门,或者你转账或检查你的帐户,或者支付抵押贷款,或者买一个保险或更新报价,或者运输一个包裹,或者订购一束鲜花,或者在网上零售商买东西或预订机票,或者股票交易等等,你都是与 COBOL 互动。

这是因为使用 COBOL 最多的是金融机构。这包括银行、保险、金融管理和股票交易相关机构,其次是政府服务部门。

尽管经历了 60 年,或许你认为 COBOL 已接近退休年龄,但这种语言本身仍未被淘汰。

事实上,有些人正在将他们的 COBOL 应用程序迁移到云中。按照这个速度,COBOL 程序将比我们所有人都活得更长。

写代码这么多年,你曾经学过哪种小众的编程语言吗?