为什么COBOL仍然是商业世界的首选语言?

为什么COBOL仍然是商业世界的首选语言?,cobol,Cobol,尽管我们有、、等语言,为什么COBOL仍然是商业世界的首选语言 为什么它如此流行?代码惯性。大量用COBOL编写的现有代码=将所有内容切换到另一种语言的高昂成本。说有超过2000亿行的COBOL代码在使用 政策惯性。COBOL真正被广泛使用的地方往往是政府机构和大型企业,它们的变化速度非常缓慢 (强)人类惰性。< /强>那些生活在编写代码和了解多种语言的人不太可能认为学习一门新语言是件大事。学习一种语言的人,因为他们需要知道它才能从事本来是“商业”工作的工作,他们甚至可能不会想换一种语言。我不太

尽管我们有、、等语言,为什么COBOL仍然是商业世界的首选语言


为什么它如此流行?

代码惯性。大量用COBOL编写的现有代码=将所有内容切换到另一种语言的高昂成本。说有超过2000亿行的COBOL代码在使用

政策惯性。COBOL真正被广泛使用的地方往往是政府机构和大型企业,它们的变化速度非常缓慢


<>(强)人类惰性。< /强>那些生活在编写代码和了解多种语言的人不太可能认为学习一门新语言是件大事。学习一种语言的人,因为他们需要知道它才能从事本来是“商业”工作的工作,他们甚至可能不会想换一种语言。

我不太确定大型企业和政府是否喜欢COBOL。我要说的是宽容的力量 这是一个更好的词

为什么?

  • 因为大型政府/企业 当涉及到管理他们的 金融系统。把这里和整个地方搞砸 企业处于危险之中。如果没有坏的话 不要修理它

  • 很难提出一个可靠的商业案例来证明这一点 更换包含数百万条生产线的关键任务系统 关于代码的问题,归结起来就是“我的语言更好” 比你的论点更复杂 但提出一个可靠的商业案例是困难的

  • 交易量。COBOL应用程序往往是 针对吞吐量进行了优化。大批量加工 数据量是COBOL真正的亮点。JAVA 应用程序的优化有些困难 吞吐量,因为有更多基础设施的趋势 程序和“金属”之间的层 添加处理拖动。大企业/政府有很多 数据在其系统中的传输和吞吐量至关重要

  • 每笔交易的成本。COBOL通常具有较低的 包括所有因素时的每笔交易成本。 这部分是因为处理时间 成本很高,而COBOL应用程序通常更为复杂 有效率的然而,COBOL应用程序似乎具有 也降低了开发/维护成本

  • 在所有人都跳到我身上拿最后一分之前 让我解释一下

    我在一家公司工作 一家非常大的商店,几年前有一位主管 决定用Java构建所有新系统。 COBOL将只保留一年 现有遗留软件库的维护。A. 计划在15年内完全淘汰 地平线

    一些 最优秀、最聪明的爪哇人被带进来了 培训、建立最佳实践、建设基础设施 并支持大规模Java开发。这 这项倡议得到了很好的规划和执行。那么, 在部署了大量Java应用程序之后 “数豆”开始了。结果是 COBOL应用程序的开发成本仍然较低, 在这里维护、支持和运行长期的硬数字运算 因为结果不受欢迎

    COBOL回来了,但还没有完全回来。 新的管理方向是将COBOL保留一段时间 重载(后端事务处理)和 面向批处理的应用程序。基本上,COBOL是 用于数字 处理和业务规则实现。Java的出现 前端提供GUI类型的界面和轻量级 处理

    我怀疑这可能是行业趋势。COBOL不是 很快就会消失,但它可能会溜走
    在幕后,它支持新玩家的出现。

    [供应商公告-但不一定是供应商的官方声明]

    当然,惰性、安装基础和更改风险是非常合理的原因,但我要说的是,语言本身也有很好的原因。如果要对大型数据记录集进行批处理或进行财务计算,则记录布局和数字数据类型的定义优于任何其他语言

    正如NealB在他的文章中所描述的,我已经和那些自然环境和专业技能是Java的用户交谈过,但他们将核心逻辑保留在COBOL中,因为它是完成这项工作的最佳工具。他们在同一个应用程序中自由地混合了Java(主要用于Unicode字符串操作和系统集成)和COBOL。如果他们比较用Java做同样工作的代码量,那就没有意义了。Alex Turner在另一个网站上发布了一些很好的例子,比较了COBOL和Java中的典型业务功能。

    为什么会流行起来

    它是由IBM大力推动的。这对和COBOL来说是一个很大的帮助,尽管不是

    它很早就出现了,第一次出现在1960年之前

    这比使用汇编程序要容易得多,甚至比使用汇编程序(对于业务处理来说,汇编程序是非常好的)。它吸引了很多试图做得比汇编更好的人

    它非常适合当时常见的商业计算实践。它非常擅长接受输入、进行小的转换和输出报告。(就这一点而言,情况仍然如此,但如今企业的需求要多样化得多。)


    它有一些特殊的功能,例如在跟踪小数点的同时进行十进制运算,以及记录数据类型,这些功能在商业上运行得非常好。

    它可以在可以热交换任何硬件的机器上工作,如果处理器死了,它的性能会很好地降低。使用数十亿美元时,可靠性就是一切

    这些机器还支持高得离谱的I/O速度;如果你不能实时处理一天的交易,你就破产了

    自1985年以来,它一直是一种稳定的语言,很少有不推荐的比特

    代码不容易移植到另一种语言,因为开发人员没有“计划”让这种情况发生。将目前为系统提供动力的代码移动到