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浏览器等等问题。

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

一场疫情,炸出了退休的COBOL程序员相关推荐

  1. 退休后的程序员,不会遇到太多经济困难?

    整理 | 郑丽媛 出品 | 程序人生(ID:coder_life) 近来,国外科技网站 The Register 上的一篇文章引起了不少程序员的关注:"与其他人相比,科技人员退休后的生活成本 ...

  2. 最新调查:等这一波COBOL程序员退休,很多关键岗位就后继无人了

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自:机器之心 上古编程语言 COBOL ,可能面临无人继承的窘境. 当我们将时间浪费 ...

  3. java程序员修炼之道 pdf_?活动丨和大咖云风来场1对1交流,分享《程序员修炼之道》心得...

    曾经获得无数赞誉,畅销20年经久不衰的IT领域经典著作--<程序员修炼之道>,多年来频繁出现在众多行业大咖和广大读者的推荐书单中.如今,这本广受推崇.好评无数的经典之作出新版啦! ▊< ...

  4. 误泄露公司代码、疫情期间被裁,一个“菜鸟”程序员的生存日记

    作者 | Adam Hughes 译者 | Sambodhi 策划 | Tina 编辑|燕珊 "我是如何从每一次失败中成长起来的." 身为程序员,我们往往都了解大神级程序员的故事. ...

  5. 金三银四过后整理出的阿里最新Java程序员面试题目(2018.4月)

    目录 技术一面(23问) 技术二面(3大块) 性能优化(21点) 项目实战(34块) JAVA方向技术考察点(15点) JAVA开发技术面试中可能问到的问题(17问) 阿里技术一面 Java IO流的 ...

  6. qt4的quick程序升级到qt5_最新8月书单出炉!送给你程序员

    8月好书赏不停,喜欢的就收藏一下. 1.计算广告:互联网商业变现的市场与技术(第2版) 作者:刘鹏.王超 全球第一本全面讲解计算广告与互联网变现秘密的专业图书升级版 @北冥乘海生 刘鹏老师力作:众多互 ...

  7. [转] 金山CEO求伯君今退休 老一代程序员时代结束

    10月24日消息,金山软件创始人求伯君今日起辞去其在金山软件所有执行性职务,正式退休.原微软亚洲工程院院长.亚太研发集团首席技术官张宏江博士接替求伯君正式为金山软件首席执行官(CEO).有观点指出,求 ...

  8. 好巧,七夕最新8月书单出炉!送给你程序员

    8月好书赏不停,七夕奉上8月新书单,请收下. 1.计算广告:互联网商业变现的市场与技术(第2版) 作者:刘鹏.王超 全球第一本全面讲解计算广告与互联网变现秘密的专业图书升级版 @北冥乘海生 刘鹏老师力 ...

  9. 疫情之下德国公司纷纷裁员,程序员呢?

    有一个好消息,和一个坏消息,先听哪个? 我们先听坏消息吧. 1坏消息 南德约有20%的公司正在裁员,或正在裁员的路上. 根据德国Ifo经济研究所的一项调查,巴符州和巴伐利亚州有约20%的公司已经决定裁 ...

最新文章

  1. 混合使用Azure LB和ILB访问相同web服务(2)
  2. [PHP]用PHPUnit进行行为驱动开发(Behaviour-Driven Development)
  3. nginx启动成功,解决别的电脑访问不了页面的问题
  4. 【转】unity3d优化总结篇
  5. 执行maven clean package 时报OutOfMemoryError的解决办法
  6. MySQL空闲会话_使用Oracle PROFILE控制会话空闲时间
  7. php的命名空间实例
  8. java.library.path在哪?
  9. 小米手机困境,米粉伤心,黄牛伤钱
  10. iOS数据库的使用(二):sqlite教程
  11. 3624用计算机怎么换算,pa与mpa的换算(压力单位pa与mpa)
  12. 一个项目经理的经验总结_小七_新浪博客
  13. [转帖]历史上真实的《勇敢的心》
  14. 鲁大师发布2022半年报手机UI排行榜,vivo OriginOS成为最流畅UI
  15. metawrap quant_bins 的bin_abundance_table.tab结果理解
  16. Windows 7 bluetooth 外围设备 解决方案
  17. Angular 4 学习笔记1
  18. Everything官网最新下载 中文,绿色版 Everything下载
  19. 如何访问群晖服务器共享文件夹,如何在局域网内访问 Synology NAS 上的文件
  20. 传统游戏与ar游戏的对比_传统游戏的AI

热门文章

  1. JDK与JRE及其在Eclipse中的使用
  2. python学习之-- redis模块管道/订阅发布
  3. jmeter察看结果树-响应数据乱码
  4. linux命令(常用)
  5. Windows SharePoint Services 3.0编码开发工具和技巧(Part 1 of 2)
  6. 一个Excel导出类的实现过程(二):显示定制
  7. hdu 2119最小点集覆盖
  8. 机器人铁锈斑斑好吗_工业机器人系统运维员是什么职业?这个职业好吗?去哪里学?...
  9. 每日程序C语言25-查找100以内的素数
  10. Java内存缓存-通过Map定制简单缓存