近日,新泽西州州长 Phil Murphy 在新闻发布会上说,现在政府急需能够使用 COBOL 语言的程序员,帮助修复已经使用了 40 多年的失业保险系统,时薪为 55 美元至 85 美元。
是的,你没看错。但 COBOL 又是什么?
这是一种非常古老的编程语言,COBOL 的鼎盛时期在上世纪 70 年代,这意味着,大部分的美国 COBOL 程序员可能都已经超过 60 岁了。
受到疫情的影响,企业倒闭的浪潮也席卷而来,失去工作的人数突然暴增,眼下新泽西州正忙于处理因失业引发的救济申请。过去两周内,新泽西州已经堆积了超过 36 万份失业救济申请,其中一半尚未支付,以至于用了好几十年的失业系统已经不堪重负。
但问题在于,这门过于古老的编程语言,数十年来都没有在大学里教授过了,市场上恐怕也没有几位掌握 COBOL 的程序员。
或许,程序员「退休返聘」的机会真的来了。
COBOL:编程语言中的活化石
COBOL(Common Business-Oriented Language,面向商业的通用语言)是一种面向过程的高级程序设计语言,主要用于数据处理,是目前国际上应用最广泛的一种高级语言。它采用 300 多个英语单词作为保留字,以一种接近于英语书面语言的形式来描述数据特性和数据处理过程,因而便于理解和学习。
COBOL 语言是专门为企业管理而设计的高级语言,可用于统计报表、财务会计、计划编制、作业调度、情报检索和人事管理等方面。它的主要特点包括:面向文件、接近英语自然语言、通用性强、功能模块化等。
这门古老的语言诞生于 1959 年,由「计算机软件工程第一夫人」格蕾丝·赫柏(Grace Hopper)创建。格蕾丝·赫柏是耶鲁大学第一位女博士、美国第一位女性海军将军,她还发明了世界上第一个编译器——A-0 系统。
但到了 20 世纪 80 年代末,它已经显得非常过时了,以至于许多大学甚至没有将其纳入计算机科学课程。尽管今天肯定还有 COBOL 系统在使用,但是 50 岁以下的软件开发人员很少有人见过,更不用说写了,甚至连一行 COBOL 都没接触过。就连在高盛 (Goldman Sachs) 任职数十年、现年 62 岁的新泽西州州长最近似乎也没有听说过这个名字,以至于无法正确地记住它。
如今 COBOL 也已经 60 多岁了。这么多年里,计算机行业发生了翻天覆地的变化,各种编程语言也是层出不穷,但神奇的是,COBOL 并没有退出历史舞台,反而一直是美国政府,商业和银行业务的支柱。
参与维护基于 COBOL 的系统工作的公司表示,95%的 ATM 交易通过 COBOL 程序,80%的现场交易依赖于它们,超过 40%的银行仍然使用 COBOL 作为其系统的基础。
因为 COBOL 有着「鲁棒、弹性、安全」的优点,从未被黑客入侵过,并且至今仍可以正常工作。
用 COBOL 编写的程序,也有着「执行难度低、不容易出现编译错误」等优点。
能 work,但终究是「年纪大了」
自从上世纪 90 年代开始,美国的许多行业专家便开始建议更换基于 COBOL 的系统,否则系统维护将变得越来越难,也会存在越来越多的安全漏洞。
2016 年,还有专家在向美国国会提交的「联邦机构需要更新老化系统」的报告中,提到了替换 COBOL 的重要性。
归根结底,COBOL 确实已经跟不上这个时代的步伐了。
有人开玩笑说:「一千行 COBOL 才能打出一首俳句。」
不过这件事也说明,年纪大的程序员还是有自己的「用武之地」……
实际上,还有一些古老的编程语言,至今也会广泛应用在一些特殊行业中。
目前仍有少数高校还在开设 COBOL 和 Fortran 这类小众编程语言的课程,只不过教材都要追溯到上个世纪了。
写代码这么多年,你曾经学过哪种小众的编程语言吗?