我们的世界,运行在无人能懂的“屎山代码”之上!
创始人
2025-07-09 11:11:39
0

没有一种编程语言像我这么尴尬。

60多年了,我依然支撑着43%的银行系统,处理着每天3万亿美元的交易!

在我的发源地美国,由于信息系统开发得更早,我更是强势,95%的ATM和80%的银行都在用我。

在这个世界上,我依然有2200亿行代码在运行!

这让C++,Java这些后辈看得目瞪口呆。

没错,我就是COBOL。

先让大家看看我的样子吧,这是个简单的Hello World

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
AUTHOR. Liu Xin.
DATE-WRITTEN. 2022-12-15.
PROCEDURE DIVISION.
    DISPLAY "Hello, world".
END PROGRAM HELLO.

太简单了,我就不解释了。

这段代码稍微复杂一点,则用来计算小时工的工资,如果工作时间超过40小时,工资是1.5倍。

COMPUTE-GROSS-PAY.
    IF HOURS-WORKED > 40 THEN
        MULTIPLY PAY-RATE BY 1.5 GIVING OVERTIME-RATE
        MOVE 40 TO REGULAR-HOURS
        SUBTRACT 40 FROM HOURS-WORKED GIVING OVERTIME-HOURS
        MULTIPLY REGULAR-HOURS BY PAY-RATE GIVING REGULAR-PAY
        MULTIPLY OVERTIME-HOURS BY OVERTIME-RATE
            GIVING OVERTIME-PAY
        ADD REGULAR-PAY TO OVERTIME-PAY GIVING GROSS-PAY
    ELSE
        MULTIPLY HOURS-WORKED BY PAY-RATE GIVING GROSS-PAY
    END-IF

读起来是不是特别像普通的英语?

这就是当年美国国防部要求的,要“最大限度地使用简单英语”,“这样更多的人可以使用它来向计算机描述问题。”

我的语法中keyword有400多个,相比C和Python等语言的几十个,有人说这种语法太拖沓,繁琐,受不了。

但也有人很喜欢,说这是一种自解释、自包含的文档,只需要把代码念出来,就知道什么意思了。

我在处理“格式化数据”方面富有盛名,从文件中读取格式化的数据记录(如姓名、地址、社保号码、电话号码等),进行处理(如计算工资),然后保存到文件中,这是我的拿手好戏,所以我出现在了很多银行,保险、政府等重要的商业应用之中。

但悲催的是,能用我编程的程序员已经退休,在家抱孙子,学校也不教COBOL。

COBOL程序员彻底断档了!

由于代码时代久远,又无人能懂,COBOL代码经常被称为屎山代码。

疫情期间,美国失业补助系统用户量暴增,仅仅新泽西州就有32万新用户注册,系统不堪负荷,急需COBOL程序员维护,但就是找不到人。

各地州长在电视上反复呼吁,对外求援。

为了改变这种窘境,人们想了很多招数。

1. 让退休的COBOL程序员发挥余热。

美国的Bill Hinshaw爷爷已经75岁,60年代开始写代码,精通COBOL编程,几年前本来计划退休,但是客户不断地向他求救,于是他成立了一个公司:COBOL Cowboys (COBOL 牛仔),专门为那些绝望的客户提供帮助。

图片

图片

这家公司有20个兼职员工,公司最年轻的员工是50多岁。

这些有经验的COBOL程序员可以修复系统故障,编写手册,磨合新旧系统,时薪可达100美元。

对企业来讲,成本似乎很高,但是和重写相比,还是九牛一毛。

2. 重写代码

还有些银行,下定决心用别的语言把COBOL系统重写。

2012年,澳大利亚联邦银行在埃森哲和SAP的帮助下,更换了其核心COBOL银行平台。

这项工作最终耗时五年,耗资超过 10 亿澳元(7.499 亿美元),期间也遇到了很多问题,2015年支付系统发生故障,60万笔交易丢失。三个月后又发生了一次重大故障,导致客户无法使用银行卡。

2018年,英国TSB银行从基于COBOL的系统迁移,连续几天无法交易,迁移成本高达3.3亿英镑。

任何一个想把我干掉的高管看到这些数字,恐怕心里都会哆嗦一下吧。

用我写的系统是金融、政府和商业世界24/7 运转的重要支柱,迁移它们相当于在空中把飞机的螺旋桨拆下,安装喷气式发动机,这条路恐怕是走不通啊。

3. 人工智能

看到那些银行吃了瘪,大佬IBM坐不住了。

毕竟,大部分的COBOL代码都运行在他家的大型机之上,给大家找一个出路是IBM不容推脱的责任。

今年,IBM想了一招,利用人工智能自动地把COBOL转换成Java。

这个叫做wastonx的辅助工具可以帮助程序员理解、重构COBOL代码,甚至转换成Java代码。

嗯,有点意思。

图片图片

但我根本不相信,现在的人工智能真的有智能,能完全无误地把我大COBOL代码改成Java。

后来,IBM也承认,这只是个编程助手而已,程序员仍然需要对AI转换的代码进行调整和验证。

调整和验证?也就是说它并不能保证完全的正确性,最多是一个能提高程序员生产力的工具而已。

我放心了。

想想也挺神奇的,人类世界运行在60年前的无人知晓的COBOL代码之上!

随着老一代COBOL程序员的逐渐老去,下一代COBOL程序员在哪里呢?

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...