【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:562839
用户头像

发布了 257 篇内容, 共 148.1 次阅读, 收获喜欢 576 次。

关注

评论

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

vue—render函数

格斗家不爱在外太空沉思

vue.js Vue 11月月更

Laravel-文件上传下载

格斗家不爱在外太空沉思

php laravel 11月月更

深度探讨react-hooks实现原理

xiaofeng

React

“企业级零代码黑客马拉松”决赛圆满落幕

明道云

黑客 零代码 无代码 黑客马拉松 黑客松

JS继承有哪些,你能否手写其中一两种呢?

helloworld1024fd

JavaScript

详细解读 React useCallback & useMemo

夏天的味道123

React

经常被问到的react-router实现原理详解

夏天的味道123

React

深度讲解React Props

夏天的味道123

React

腾讯WeTest七年路,中国“质”造向未来

Geek_2d6073

敏捷开发模式下如何快速提升产品质量

敏捷开发

敏捷 敏捷开发 软件测试

从源码角度看React-Hydrate原理

flyzz177

React

Mac部署hadoop3(伪分布式)

程序员欣宸

大数据 hadoop 11月月更

vue实战-深入响应式数据原理

yyds2026

Vue

超级App们有一个共同的技术特点

Onegun

小程序容器 超级app 小程序化

一文彻底读懂webpack常用配置

Geek_02d948

webpack

深度剖析React懒加载原理

xiaofeng

React

vue的几个提效技巧

yyds2026

Vue

Vue-组件详解

格斗家不爱在外太空沉思

vue.js 组件化 11月月更

vue实战中的一些小技巧

yyds2026

Vue

数据中台的终点是DataOps还是DaaS?

雨果

数据中台 DataOps DaaS

你需要知道的webpack高频面试题

Geek_02d948

webpack

webpack高级配置

Geek_02d948

webpack

体验一把 Flowable 三种常见网关

江南一点雨

Java spring springboot flowable JavaEE

百度前端二面常考手写面试题总结

helloworld1024fd

JavaScript

前端经常遇到的手写js题

helloworld1024fd

JavaScript

决策树-交叉验证

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

理解NodeJS多进程

coder2028

node.js

深入分析React-Scheduler原理

xiaofeng

React

js函数柯里化-面试手写版

helloworld1024fd

JavaScript

一文读懂加密资产板块的盈利潜力与投资机会

西柚子

【C语言】auto 关键字

謓泽

11月月更

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