前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一场疫情,炸出了退休的COBOL程序员

一场疫情,炸出了退休的COBOL程序员

作者头像
云水木石
发布2020-04-27 10:43:34
1.2K0
发布2020-04-27 10:43:34
举报

COBOL编程语言,估计大多数程序员从没听说过,我这样的编程老司机,也是只闻其名,从未一睹芳容。出门问了问度娘,答案如下:

COBOL语言,是一种面向过程的高级程序设计语言,主要用于数据处理,是目前国际上应用最广泛的一种高级语言。COBOL是英文Common Business-Oriented Language的缩写,原意是面向商业的通用语言。它采用 300多个英语单词作为保留字,以一种接近于英语书面语言的形式来描述数据特性和数据处理过程,因而便于理解和学习。COBOL语言是专门为企业管理而设计的高级语言,可用于统计报表、财务会计、计划编制、作业调度、情报检索和人事管理等方面。

为什么突然谈到COBOL语言呢?今天看到一篇文章,新泽西州州长菲尔·墨菲在每天的冠状病毒简报中,做出了不寻常的公开呼吁:该州正在寻找懂得COBOL的程序员志愿者

这又是什么情况?原来由于冠状病毒在美国爆发后,美国迎来了失业潮,大量的美国人申请失业救济。而该州的失业救济金系统就是采用COBOL语言编写的,令人难以置信的是,该系统已经有40多年的历史。四十多年了,该系统还在运转,也不知道是幸运还是不幸。有一点可以确定的是,四十多年前的程序员可没预计到有这么大的访问量,自然需要有人维护才行。

现在的问题是,当年懂COBOL语言的程序员都已经退休了,而COBOL语言作为一种面向商业的通用语言,比C语言历史还悠久,但其生命力却远逊于C语言。新生代程序员没人去学习COBOL语言,而老一代程序员渐渐老去,COBOL语言如同众多的其它程序设计语言一样,即将消失在历史的长河中。

新泽西州还不是唯一依赖COBOL的州。康涅狄格州州长上周表示,康涅狄格州处理失业的计算机系统也正在运行,这导致长达数周的处理延误。康涅狄格州和其他四个州正在共同努力,招募可以更新该州软件的退休COBOL程序员。

在计算机发展日新月异的时代,我们理所当然的认为新技术会不停淘汰老技术,以至于作为程序员,时刻有一种压力,总怕自己被时代淘汰。但我们有时又高估了技术更新的速度。举个简单的例子,相对论、量子力学的提出有一百多年了,现代人有多少懂?计算机从发明伊始就采用了冯.诺伊曼体系,至今仍然没有突破。RSA非对称密码算法从上个世纪七十年代公布,至今仍然在安全领域发挥着重要的作用。被认为淘汰的COBOL语言,其实并未退出历史舞台。

2017年,路透社调查发现,全球目前仍有2200亿行COBOL代码,占据活跃代码的80%,大约95%的ATM交易通过COBOL程序。

为什么这些系统不早进行更新换代呢?其实美国政府责任办公室(GAO)已多次警告在关键系统中使用遗留编程语言。GAO在2019年发布了一份报告,汇总了10个急需大修的联邦计算机系统。例如,教育部用于处理联邦学生资助申请的系统于1973年实施。该系统需要18个承包商来维护,由于该系统是用COBOL编写的,因此需要专门的硬件,并且很难与较新的软件语言集成。

这涉及到软件系统的一个设计原则,就是如果一个系统能够正常工作,就不要去动它。很多刚进入编程行业的新手,经常会抱怨其维护的一堆垃圾代码。问题是就算是垃圾代码,只要能工作,没有哪个老板会放心你去修改,谁知道你修改之后会引爆什么雷呢?而且即使让新手去做一遍,大概率产出的依然是垃圾。这也是为什么从上世纪90年代开始,美国多个行业专家建议更换基于COBOL的系统,否则系统维护将变得越来越难,但这些系统依然顽强存活着的原因。

由于COBOL程序员的匮乏,导致人们对像COBOL Cowboys这样的初创公司越来越有兴趣,这些公司由年长、经验丰富的程序员组成。COBOL Cowboys的大多数员工,早就到了退休年龄,老头子们嘴里的“年轻人”,其实也都过了五十岁。

一位60多岁的COBOL程序员,曾在2012年遭到解雇,被年轻程序员顶替了岗位,但只过了两年,原雇主又找回来求他继续返岗工作。

还有一位70多岁的COBOL程序员,都已经用上了吸氧器,每天早上仍要搭乘政府派来的警车,前往办公室工作。

为什么中国没有出现这种情况?那是因为中国的计算机信息化比美国晚得多,COBOL是大型机时代的产物,而计算机在中国蓬勃发展,已经是微机时代和互联网时代了。这有时也是后发国家的一项优势,没有过多的历史包袱,可以尽可能的采用最先进的技术。

其实中国也开始慢慢有一些历史包袱了,比如我们公司使用的内部办公系统,只支持IE浏览器,但这套系统公司一直在使用,各方面都契合公司的流程,而这套系统也已经无人维护。切换新的系统,成本又太高,历史数据、用户习惯、流程等等,都难以解决,就这样一直拖着。中国也有大量的网站仍然使用Flash,只支持IE浏览器等等问题。

也许,等我们这代程序员退休的时候,也会被猎头争抢,去修复几十年前的系统呢!

参考
  1. Our Government Runs on a 60-Year-Old Coding Language, and Now It’s Falling Apart
  2. 百度百科
  3. 抢完口罩呼吸机,美国的州长们开始抢退休程序员了
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云水木石 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档