写点什么

Java:下一个 COBOL?

  • 2019-10-08
  • 本文字数:1995 字

    阅读完需:约 7 分钟

Java:下一个COBOL?

COBOL,这门受人尊敬的编程语言本月将迎来 60 岁的生日,正如 Steven J. Vaughan-Nichols 所写,它很可能“比我们所有人都要长寿”。COBOL 不仅展示了我们行业的真实增长速度,同时它也可能提供了一些线索,来说明未来类似 COBOL 的将会是什么。Java 和 SQL 中的一个吗?又或者是 Python?


Java 真的会成为下一个 COBOL 吗?


当我们对新事物痴迷时,很容易忘记旧事物陪伴我们的时光。以 COBOL 为例。这门受人尊敬的编程语言本月将迎来 60 岁的生日,正如Steven J. Vaughan-Nichols所写,它很可能“比我们所有人都要长寿”。


事实上,COBOL 提供了一个很好的示例,它展示了我们行业的真实增长速度,同时它也可能提供了一些线索,来说明未来什么会成为 COBOL。是 Java 和 SQL 中的一个吗?又或者是Python

COBOL 的主力

阅读这篇文章的大多数人在 1959 年几乎都还没有出生的,那一年 Mary Hawes 提出了 COBOL (Common Business-Oriented Language,面向商业的通用语言)的概念,Grace Hopper(和其他人一起)随后使其正式化并加以改进。正如 Vaughan-Nichols 所提到的那样,Hawes 的目标是创造“一个类似英语的词汇表,可以在不同的计算机上执行基本的业务任务”,这是一种真正的与供应商无关的语言。


Micro Focus(维护 COBOL 的公司)在与 Vaughan-Nichols 的一次谈话中说到,虽然 COBOL 的年轻时代在 20 世纪 80 年代已经逐渐消失了,但它却支撑着全球 70%的事务处理操作。从自动取款机中取钱?你在用 COBOL。支付抵押贷款?也是用 COBOL。打电话给呼叫中心?没错,那也是 COBOL。即使是假期预订,也完全依赖于 COBOL。


一般认为 COBOL 已经废弃了几十年,但是 2200 亿行 COBOL 仍然存在于我们生活里的大型机中。据软件工程研究中心Lero称,2014 年 COBOL 程序的事务处理数比谷歌搜索高出了 200 倍,使其相形见绌。

谷歌会迎头赶上吗?

COBOL 可不是在大型机上苟延残喘的老糊涂。除了易读之外,这门语言还与它的旁观者保持着联系。如今,COBOL 与 Docker 容器、Java 相结合,可以运行在云、Linux、Windows 上,或是运行在任何地方的任何东西上。它是一种高度可管理的语言,允许程序员专注于编写应用程序,而 COBOL 则负责处理底层操作系统的复杂性。


如今,COBOL 最大的风险是越来越难找到合格的程序员了。考虑到替换基于 COBOL 系统的成本和风险,这种语言可能还有几十年的时间要和我们一起共存,但这并不意味着开发人员从小梦想着编写的第一个程序是 COBOL 程序。这是一个谜题,但不是我打算在这篇文章中要解决的。(对不起!)


另外,纵观 COBOL 60 年的历史,让我思考今天的哪些语言可能成为明天的“COBOL”。也就是说,还有哪些语言/技术会在众多未来技术的背后继续存在?

未来 COBOL 之今日

当然,未来很难预测,但对于 SQL、Python 和 Java 来说,有很多很好的例子。 Dave Kellogg多年来一直宣称 SQL 是新一代的 COBOL。从持久性和它已经过时的知识而言,这可能是真的,但这种类比最终会消失。只有一个 COBOL。尽管 SQL 声称它具有一致性,但它会根据数据库提供者的不同而使用不同的方言。虽然这并没有阻止 SQL 的发展(而且它在未来几十年内肯定还会很重要),但它并不像是 COBOL 的同类。

当然不像 Java 那样

Java 与 COBOL 一样,也是很容易读写的。就像 COBOL 一样,Java 也保持了其现代性。每当 Java 看起来要消失的时候,就会有什么东西使它活跃起来。根据Brian Leroux的说法,Android 肯定对 Java 的持续保持其重要性起了至关重要的作用。不久之后,大数据又让 Java 死灰复燃。正如Nitin Borwankar所强调的那样


“由于 Hadoop 和整个数据科学生态系统(包括 Hive、HBase、Spark、Cassandra、Kafka 和 JVM 语言,如 Groovy 和 Clojure),Java 迎来了第二春。所有这些都不会很快消失。”


事实上,和 COBOL 一样,我们可能看到 Java 被刻在我们墓碑上的一个主要原因是,正如Jonathan Eunice所写的那样,Java“被广泛深入地部署在了关键应用程序中,因此值得对它进行系统性的批判。”随着越来越多的公司将 Java 嵌入到他们最关键的应用程序中,Java 就越不可能被分割和取代。这样做可以降低成本和风险。


同样地,Python 可以很好地决定它的持久力。在Lauren Cooney看来,Python 将继续存在下去,因为它是一种“GSD(get stuff done,完成任务)语言且是一种很酷的语言。”它“不花哨”。它就是“有用”。更重要的是,像 Java 一样,Python 也越来越成为现代数据科学的基础。此外,它很可能会成为未来支撑经济系统的事务性工作负载(如前所述,这也是 COBOL 今天仍然很酷的一个重要原因)。


别的呢?好吧,还有一个不是那么随便的答案,那就是 COBOL 也许是未来的 COBOL。正如 Andrew Oliver所说,


几年前我说过 Java 是未来的 COBOL。每个人都用奇怪地眼光看我。但我认为这就是未来。



一幅有趣的 Java 与 COBOL 对比图


原文链接:


https://learnworthy.net/could-java-be-the-next-cobol


2019-10-08 16:563093
用户头像

发布了 414 篇内容, 共 286.3 次阅读, 收获喜欢 657 次。

关注

评论

发布
暂无评论
发现更多内容

使用豆包MarsCode 实现高可用扫描工具

Trae

人工智能 程序员 AI 开发 智能化

打造全栈云自主可控体系,天翼云构筑数字安全屏障!

天翼云开发者社区

云计算 网络安全 云服务 天翼云

共促数字经济高质量发展,天翼云出席2024 IDC中国年度盛典!

天翼云开发者社区

云计算 IDC 天翼云

一次基于AST的大规模代码迁移实践

vivo互联网技术

代码迁移 postcss 抽象语法树AST gogocode

观测云产品更新 | 场景、基础设施、用户访问、管理等

观测云

数据分析 基础设施

百度搜索结果波动的极致治理

百度Geek说

【程序大侠传】应用内存缓步攀升,告警如影随形

Disaster

精通Java并发锁机制:24种锁技巧+业务锁匹配方案(第二部分)

肖哥弹架构

Java 高并发

瓜子二手车 x TiDB 丨平均耗时降低 30%,TiDB HTAP 在瓜子二手车财务中台结账核心系统的深度实践

PingCAP

TiDB

Go 必知必会:掌握Go语言的流程控制,构建逻辑与决策的基石

王中阳Go

流程控制 流程控制语句 GO语言编程

《春江花月夜》Vivid菁彩视听版,开启一场美学视听盛宴!

最新动态

体育场馆LED显示屏的分类及应用

Dylan

科技 LED LED display LED显示屏 体育

助力降本增效,ByteHouse打造新一代云原生数据仓库

字节跳动数据平台

数据仓库 云原生 OLAP 降本增效

华为智慧屏 V5 Max 110发布!Audio & HDR Vivid畅享菁彩视听盛宴

最新动态

第三期安全AI挑战者计划-文本分类对抗攻击 第三名“我永远喜欢星野源”技术总结

阿里云天池

合同管理中的常见陷阱,你是否也中招了?

天津汇柏科技有限公司

低代码 合同管理 AI 人工智能

知乎 PB 级别 TiDB 数据库在线迁移实践

PingCAP

TiDB

“你好BOE”即将重磅亮相上海国际光影节 这场“艺术x科技”的顶级光影盛宴不容错过!

科技汇

对 AI 产品定价模式的新思考:基于人数 or 工作量?

Baihai IDP

程序员 AI LLMs Baihai IDP 企业 9 月 PK 榜

云灾备:云时代的数据安全

天翼云开发者社区

云计算 网络安全

如何基于云产品搭建一个高可用性的网站

天翼云开发者社区

云计算

网络编程入门如此简单(四):一文搞懂localhost和127.0.0.1

JackJiang

即时通讯;IM;网络编程

【行业知识】跨境电商怎么定义?需要用堡垒机吗?

行云管家

等保 堡垒机 跨境电商

探索MySQL中VARCHAR(255)的演变及其对数据库设计的影响

Steven

博睿数据受邀亮相NebulaGraph Meetup北京站

博睿数据

Java:下一个COBOL?_语言 & 开发_ALICIA NEWMAN_InfoQ精选文章