COBOL老矣,尚能饭否?近80%企业计划彻底淘汰那些古早编程语言

简介: COBOL老矣,尚能饭否?近80%企业计划彻底淘汰那些古早编程语言

最近,大型数据分析和风险评估跨国公司 Verisk 的软件工程高级副总裁 Sid Mohanram 正在负责公司系统从 COBOL 编程语言中迁移出来。

Verisk 只是众多这样做的公司的其中一个。现在,公司们和政府正在探索除了运行世界上一些最关键应用程序的编程语言之外的其他选择。

「我们的目标是摆脱大型机。」Mohanram 说道。

新冠疫情的蔓延为使用 60 年历史的古早编程语言 COBOL 编写核心计算机系统的机构们敲响了警钟,在美国,新泽西州、威斯康星州、佛蒙特州、爱荷华州、堪萨斯州,甚至联邦政府都面临着 COBOL 程序员短缺的问题,一些系统无法在申请失业救济金系统出现历史性飙升的情况下维持良好运行。

但是,COBOL 程序员的短缺并不是唯一的问题。在编程语言和软件开发的高速世界中,COBOL 已经成为一个陈旧的(尽管仍然相当可靠)的机器。

「我们在 COBOL 中实施更改的速度很慢,人们开始寻找变通办法,」Mohanram 说,这造成了所谓「技术债务」的积累。

「开发人员说:我需要进行更改,但我太忙了,无法进行 COBOL 更改,所以我不会触及现有的 COBOL 程序,但我会在 COBOL 之外再添加三个步骤,包括 Excel 电子表格或其他东西来应用更改。所以就有了现在这些非常过时的 COBOL 程序,以及一堆其他的东西作为获得最终结果的变通方法。」


仍然有这么多程序使用 COBOL 的原因之一是它出奇地稳定。但如今,对于许多应用程序而言,灵活性更为重要。

「COBOL 代码是防攻击的,因为它几乎从不改变,」Diffblue 的首席执行官 Mathew Lodge 说,这是一家为 Java 和其他更新的编程语言自动编写单元测试的初创公司。「但那是旧世界了,现状则完全相反——你必须时刻改变以保持竞争力。」

IBM 的大型机运行着世界上大部分的 COBOL 代码,拥有一个致力于推进该技术的整个团队,因此客户可以继续使用该语言。Z 是 IBM 最先进的大型计算机的品牌名称,IBM 负责 Z 产品管理的副总裁 Barry Baker 说:「我们一直在这方面投资,哪怕仅是为了寻找工作人员,或是在工具功能和产品上帮助他们真正直观地了解跨应用程序的数据流。」

Baker 说,用 COBOL 构建的应用程序通常没有很好的文档记录,有时甚至会丢失原始源代码的整个模块。与此同时,设计这些应用程序的人已经退休,有时甚至已经去世。此外,测试 COBOL 程序也可能是一个问题,因为许多 COBOL 程序是在单元测试普及之前的时代编写的。


「当测试与代码同时编写时,测试是最有效的,」Mohanram 说。他补充说,现在最佳实践是先编写单元测试,因为单元测试描述了需求,然后编写实际函数以获得给定输入集的预期输出。「单元测试将迫使开发人员编写更容易测试的代码。」

然而,IBM 的 Baker 表示,单元测试实际上已经为开发人员提供了相当长的一段时间。「大约 20 年前,当我还是一名开发人员时,我在自己的 IBM Z 开发中使用了测试驱动开发。」

SoftwareMining 的创始人 Cyrus Montakab 说,测试可能比翻译更昂贵、更困难,Verisk 正在使用它的工具将 COBOL 代码翻译成现代编程语言。「我们一直告诉人们,现在开始翻译,这样你就可以在最后一个 COBOL 程序员离开之前对其进行测试。」

目前,也有 AI 工具可以支持自动编写单元测试,这可以加快流程并节省资金,比如 Lodge 的 Diffblue 使用强化学习来自动编写单元测试。

「如果想在现代软件流程中使用该代码,你不仅需要翻译代码,还必须提出一组单元测试来快速发现错误,」Lodge 说,他的公司正在帮助大型养老基金用 Java 重写 COBOL 程序。使用自动化测试可以确保代码质量,同时跟上市场的需求。

路透社预估,2015 年仍有 2200 亿行 COBOL 代码仍在生产中,运行着全球 43% 的银行系统和 95% 的 ATM,包括红绿灯、航空公司、养老基金和工资系统都定期在 COBOL 上运行。

许多公司不愿意触碰更大的 COBOL 应用程序,只要它还能工作。「总是一再推迟,老 IT 主管说这不归自己管,」帮助企业替换 COBOL 的公司 Astadia 的首席技术官 Walter Sweat 说。「他们不想冒险并将这件事推给下一代,但到了某个阶段,必须有人处理它。」

Sweat 说,他认为退出 COBOL 是一种增长趋势。两年前,他采访过的潜在客户中只有一半希望将他们的系统迁移到不同的编程语言。现在, 75% 到 80% 已经希望摆脱 COBOL。这是因为 COBOL 程序跟不上机器学习或云集成等新的发展。

对于许多传统银行来说,随着移动金融应用程序的爆炸式增长,这种编程语言可能会迎接未来的挑战,这些应用程序允许消费者在手机上完成从基本银行业务到商品交易的所有事情。然而,整个行业创纪录的利润说明了一个不同的故事,这表明这些传统银行已经能够建立自己的移动应用程序,这些应用程序由运行在 COBOL 中的服务和数据支持。

Baker 表示,IBM 认为企业中使用的 COBOL 不太可能很快消失,但将关键应用程序翻译成更灵活的语言比以往变得都容易。

参考链接:https://spectrum.ieee.org/cobol-programming-shelf-life

相关文章
|
3月前
|
Rust 安全 Go
揭秘Rust语言:为何它能让你在编程江湖中,既安全驰骋又高效超车,颠覆你的编程世界观!
【8月更文挑战第31天】Rust 是一门新兴的系统级编程语言,以其卓越的安全性、高性能和强大的并发能力著称。它通过独特的所有权和借用检查机制解决了内存安全问题,使开发者既能享受 C/C++ 的性能,又能避免常见的内存错误。Rust 支持零成本抽象,确保高级抽象不牺牲性能,同时提供模块化和并发编程支持,适用于系统应用、嵌入式设备及网络服务等多种场景。从简单的 “Hello World” 程序到复杂的系统开发,Rust 正逐渐成为现代软件开发的热门选择。
66 1
|
17天前
|
数据库 开发者 Python
“Python异步编程革命:如何从编程新手蜕变为并发大师,掌握未来技术的制胜法宝”
【10月更文挑战第25天】介绍了Python异步编程的基础和高级技巧。文章从同步与异步编程的区别入手,逐步讲解了如何使用`asyncio`库和`async`/`await`关键字进行异步编程。通过对比传统多线程,展示了异步编程在I/O密集型任务中的优势,并提供了最佳实践建议。
16 1
|
3月前
|
JSON C# 开发者
💡探索C#语言进化论:揭秘.NET开发效率飙升的秘密武器💼
【8月更文挑战第28天】C#语言凭借其强大的功能与易用性深受开发者喜爱。伴随.NET平台演进,C#持续引入新特性,如C# 7.0的模式匹配,让处理复杂数据结构更直观简洁;C# 8.0的异步流则使异步编程更灵活高效,无需一次性加载全部数据至内存。通过示例展示了模式匹配简化JSON解析及异步流实现文件逐行读取的应用。此外,C# 8.0还提供了默认接口成员和可空引用类型等特性,进一步提高.NET开发效率与代码可维护性。随着C#的发展,未来的.NET开发将更加高效便捷。
59 1
|
3月前
|
中间件 API 数据库
揭秘!Tornado框架何以成为Web开发界的璀璨新星?非阻塞I/O背后的秘密,让性能飙升的秘密武器!
【8月更文挑战第31天】Tornado 是 Web 开发领域的一颗璀璨明星,以其非阻塞 I/O、高性能和轻量级特性吸引了众多开发者。作为 Python 的异步网络库,Tornado 提供了强大的 Web 应用支持,特别适用于实时服务、游戏后端和 API 开发。其学习曲线平缓,从简单的 Hello World 示例即可快速上手。Tornado 的非阻塞 I/O 模型使其能高效处理大量并发连接,而丰富的扩展库则增强了其灵活性和扩展性。无论是初学者还是资深开发者,都能在 Tornado 中找到理想的开发体验。
37 0
|
3月前
|
开发者 CDN 监控
【破局·提速】当Vaadin遇上性能怪圈:开发者的智慧较量与极速加载的实战秘籍!
【8月更文挑战第31天】本文详细介绍了优化Vaadin应用性能的方法,特别是提高加载速度的实战技巧。首先分析性能瓶颈,如服务器响应时间和数据库查询效率等;然后通过代码优化、数据分页与急切加载技术减少资源消耗;接着利用资源压缩合并及CDN加速,进一步提升加载速度;最后通过持续性能监控和测试确保优化效果。通过综合应用这些策略,可显著改善用户体验。
76 0
|
6月前
|
存储 搜索推荐 程序员
SnippetsLab:程序员的秘密武器
SnippetsLab:程序员的秘密武器
208 0
|
6月前
|
JavaScript 前端开发 Java
二十年编程语言风云,哪款是你的爱豆?
二十年编程语言风云,哪款是你的爱豆?
|
11月前
|
人工智能 自然语言处理 Java
程序员再过几年会没落?这是真的吗
《Computer World》杂志曾经写过一篇文章,说“编程到1960年就会消失”,因为IBM开发了一种新语言FORTRAN,这种新语言可以让工程师写出他们所需的数学公式,然后提交给计算机运行,所以编程就会终结。
|
SQL JavaScript 前端开发
#你会担心掌握的技术语言过时吗?#一入编程深似海,从此妹子是路人
我掌握的技术语言有C、C++、ActionScript、JavaScript、TypeScript、Flex、Java、SQL、Scala、CAD,当然,这还不算一些具有特殊语言的技术框架,如Vue.js、Angular、Spark、Android、HarmonyOS、Node.js等,如果算上就更多了。
258 0
|
存储 分布式计算 监控
专访骨灰级开源爱好者吴晟:开源没有黑魔法,两年后泡沫将会破灭
在刚结束的 2020 年,国内先后有超过 11 家开源软件领域企业获得了新一轮的资本助力,融资纪录创下近年来开源赛道最高。开源的热潮,已然兴起。然而,当越来越多的资本、企业等产业界人士开始越来越关注开源之时,一些隐藏在开源光鲜外衣背面的阴暗,也随之而来。
377 0
专访骨灰级开源爱好者吴晟:开源没有黑魔法,两年后泡沫将会破灭