17611538698
webmaster@21cto.com

历经 20 年开发,GNU COBOL 已为行业做好准备

编程语言 0 803 2024-03-17 12:59:00

图片

导读:近日,GNU COBOL已经达到了工业成熟度,可以与所有环境中的专有产品竞争”,贡献者 Fabrice Le Fessant 在 FOSDEM 演讲中如此提道。

“把那些打孔卡拿回来吧!”

OCamlPro创始人兼 GNU Cobol 贡献者Fabrice Le Fessant在FOSDEM 会议上讨论该技术时这样表示。

他还说,经过 20 年的开发与迭代,开源的 GNU COBOL“已经达到了工业成熟度,可以在所有环境中与专有产品竞争”,

图片

图-1 作者在大会上

图片

图-2 作者在“X”平台上的个人介绍

Gnu COBOL是将COBOL 源代码转换为可执行应用程序。

它具有很强的跨平台性,可以运行 Linux、FreeBSD家族、许多专有的 Unix、macOS 和 Windows,甚至 Android。

最新版本 v.32 正在许多商业环境中使用。

谁还在使用 COBOL?

COBOL(通用面向业务的语言)于1959年推出,它是一种高级语言,主要服务于大型组织的财务和人力资源部门。

COBOL现在已成为 ISO 标准,最新版本 (v 35.060)于 2023 年发布。

COBOL 在一个关键方面是第一种现代语言:它被设计为跨平台的。资助 COBOL 开发的美国国防部希望摆脱为每个供应商的计算机品牌支持不同编程语言的做法。可移植性是 COBOL 早期成功的关键。

尽管 Cobol 通常被认为是一种遗留老旧的编程语言,但据很多机构统计,Cobol 仍然有大量用途,其中仍有多达 800 亿行。最令人惊奇的是它仍在增长,每年增长 15%。

GnuCOBOL 项目负责人Simon Sobisch在 FOSDEM 演讲中表示说:如果你使用 ATM 机,其幕后发生的很多事情,当它不是Java时,很可能就是 COBOL 。许多组织,特别是银行,都有大量的 COBOL 代码库,过于笨重而无法迁移。

他们为什么会这么做?因为COBOL快速且可靠。

作为计算机行业的早期参与者,COBOL 部署现在由商业供应商主导。IBM将 COBOL 捆绑到其大型机中。Micro Focus为 PC 提供 COBOL。Fujitsu NetCOBOL可在 PC 和大型机上运行。

图片

尽管如此,Sobisch 指出,GnuCOBOL 正在进行大量商业部署,例如银行后端应用程序,其中许多是从 Micro Focus 迁移的,用户报告其性能因此得到提高。在 Le Fessant 公司的帮助下,法国DGFIP联邦机构从 GCOS 大型机迁移到 GnuCOBOL。

COBOL 中的“Hello World”

该项目最初名为 OpenCOBOL,于 2002 年启动,并于 2013 年更名为 GnuCOBOL。在过去的三年里,它受到了 13 名贡献者的关注,提交了 460 次。

大多数 Linux 包管理器都有一个 GnuCOBOL 副本供程序下载。

下面是COBOL中的“Hello World”程序分为三个部分:

IDENTIFICATION DIVISON
PROGRAM-ID. prog
DATA DIVISION
WORKING-STORAGE-SECTION
01 var-string PIC X(20) VALUE "Hello World"
PROCEDURE DIVISION
DISPOLAY var-string
END PROGRAM prog


其中:“IDENTIFICATION DIVISON 识别部分”用来标识程序的名称。“DATA DIVISION”数据部分保存数据(“Hello World”),“PROCEDURE DIVISON”过程部分包含一些函数。

GnuCOBOL 能为企业提供什么

GcnCOBOL 对于那些熟悉Unix 环境的人来说是直观的。

Sobisch 说,它可以编译为 C 代码 (C89+),使其极小巧便携,从大型机到 Raspberry Pi均可运行。

GnuCOBOL 代码的实现可以运行数千个处理器,这使项目开发人员有机会在大型用例中调整性能和内存使用情况。

Sobisch 吹嘘说,在合规性方面,它通过了 97% 的 COBOL 85 一致性测试,这是专有供应商尚未达到的成功率。它有 19 种方言,包括 IBM 和 Micro Focus 的扩展。

目前,GnuCOBOL 中尚不支持对象或消息。

Sobisch 说,对象是“COBOL 22 的一个很好的功能,但用得不多”。

Sobisch 说,消息传递最近刚刚重新实现,并且仍然是 COBOL 人群需要解决的一个新功能。目前的 GnuCOBOL 版本还不支持它。

图片

COBOL 组合还推出了SuperBOL,这是一个由 Le Fessant 的 OCamlPro 开发的 GnuCOBOL开发工作室。它作为 VSCode 扩展运行,并具有完整的 COBOL 处理器(用OCaml编写)。然而,该软件仍处于开发的早期阶段。

最后,GnuCOBOL 将成为即将到来的 Google Summer of Code (https://gnucobol.sourceforge.io/gsoc.html)的特色语言之一,有助于确保 COBOL 在未来很长一段时间内与我们同在~

作者:有趣的大雄

参考:

https://fabrice.lefessant.net/

评论