写点什么

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

发布了 342 篇内容, 共 244.9 次阅读, 收获喜欢 630 次。

关注

评论

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

程序员就意味着高薪?解除35岁的忧虑,一条正确的职业生涯规划

Java 程序员 后端

算法入门 - 动态数组的实现(Java版本),分层架构图案例

Java 程序员 后端

类加载器深入剖析,2021最新华为Java校招面试题

Java 程序员 后端

精心备战30天,三天斩获阿里offer,揭秘面试流程及我的学习方向

Java 程序员 后端

系统性能典型案例分析:高性能队列Disruptor,一文深入理解

Java 程序员 后端

系统性能百倍提升典型案例分析:高性能队列Disruptor(1)

Java 程序员 后端

[架构实战营]模块二作业:微信朋友圈高性能复杂度架构

Geek_99eefd

架构实战营

精心整理全网最全Tomcat面试专题及答案(共19题,含答案解析

Java 程序员 后端

系统性能典型案例分析:高性能队列Disruptor,一文深入理解(1)

Java 程序员 后端

程序员入职国企,1周上班5小时,晒出薪资感叹,阿里P8架构师的Java大厂面试题总结

Java 程序员 后端

程序员开发必备22个终端CLI工具也太香了(附下载地址!

Java 程序员 后端

程序员必知必会之——服务网格istio概念,springboot项目案例百度云

Java 程序员 后端

程序员面试时这样介绍自己的项目经验,成功率能达到98,华为od技术一面

Java 程序员 后端

秒懂数组拷贝,感知新境界,java编程思维百度云

Java 程序员 后端

程序员欣宸的文章分类汇总,javaee教程文档

Java 程序员 后端

算法宝典最新分享:Alibaba+小米,redis笔记

Java 程序员 后端

终于彻底搞清楚了 MySQL spin-lock 之一次CPU问题定位过程总结

Java 程序员 后端

算法基础之暴力递归到动态规划,java程序员面试算法宝典pdf猿媛之家

Java 程序员 后端

精通springcloud:服务发现,Eureka API,java技术上难以解决的问题

Java 程序员 后端

线上环境大规模RocketMQ集群不停机优雅升级实践,面试字节跳动Java工程师该怎么准备

Java 程序员 后端

终于等到了!十位Java架构师整理的“阿里P7,看完老板哭着让我留下来

Java 程序员 后端

程序员都应当知道的实用工具网站,Java400道面试题通关宝典助你进大厂

Java 程序员 后端

究竟是什么样的奇葩需求?威胁到程序员的头发,java高级特性编程及实战第三章

Java 程序员 后端

算法在哈啰顺风车中的实践应用,netty实战pdf

Java 程序员 后端

精雕细琢!阿里大师53天悉心打磨出来的MyBatis+设计模式架构指南

Java 程序员 后端

终于彻底搞清楚了 MySQL spin-lock 之一次CPU问题定位过程总结(1)

Java 程序员 后端

程序员是如何看待薪资被高估的?内容过于真实,java语言程序设计与数据结构进阶版

Java 程序员 后端

系统性能百倍提升典型案例分析:高性能队列Disruptor,linux服务器架构师

Java 程序员 后端

程序员一定要会的软件项目管理评估方案,不做只会敲代码的码农!

Java 程序员 后端

立即可用的实战源码(springboot+redis+mybatis,java自学教程免费视频

Java 程序员 后端

算法基础之递归,java核心技术卷

Java 程序员 后端

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