作为早期计算机历史的标志性人物,Grace Hopper 是 COBOL 编程语言的祖母。在她众多的成就中,她发明了第一个编译器,并帮助推广了与机器无关的编程语言的采用。今天,她的遗产以多种方式延续下来,包括 Grace Hopper 女性计算机大会。
虽然 Hopper 对计算机科学的贡献被人们铭记、赞颂并被她的继任者发扬光大,但 COBOL 本身通常被视为早期计算机时代的遗物。在某种程度上,这是事实。今天编写的大部分 COBOL 代码都是为了维护遗留代码,而不是启动新项目。然而,该语言仍在不断更新,COBOL 2014 是该语言的最新标准,并且仍然有很多机会申请需要 COBOL 经验的工作。
值得庆幸的是,在现代使用 COBOL 不需要追踪遗留硬件。有几种工具可以使在现代计算机上使用 COBOL 像使用其他编程语言一样简单。下面,我将介绍三个开源项目,它们可以帮助您在 Mac、Linux 或 Windows 计算机上编写、编译和使用 COBOL。所以拿起一本关于 COBOL 编程的书,(如果您需要一本,Michael Coughlan 编写的Beginning COBOL for Programmers 是一个极佳的选择),开始探索 COBOL 的世界吧。不需要穿孔卡片。
GnuCOBOL
GnuCOBOL(以前称为 OpenCOBOL)是一个现代的开源 COBOL 编译器。它的工作原理是将 COBOL 代码翻译成 C 代码,并使用 GCC 编译代码。虽然该项目不声明符合标准,但它通过了美国国家标准与技术研究院 COBOL 85 测试套件中的大部分测试。其他编译器可能更符合标准,或者包含与其历史先例相同的怪癖,但 GnuCOBOL 是我在下面介绍的另外两个项目所使用的编译器。
在 Fedora 上安装 GnuCOBOL
sudo dnf install open-cobol
在大多数其他 Linux 发行版和其他 UNIX 风格的系统下安装同样简单。对于基于 Debian 的发行版,只需将 “dnf” 替换为 “apt-get”。Mac 用户可以使用 homebrew 安装 GnuCOBOL。在 Windows 上安装稍微复杂一些,但是为有兴趣在 Windows 上尝试 GnuCOBOL 的用户提供了说明。
要将名为 'PROGRAM.cob' 的文件中的源代码编译为可执行文件,请运行
cobc -x PROGRAM.cob
还有许多其他编译选项,运行 “cobc -h” 时会列出这些选项。GnuCOBOL 常见问题解答非常详尽,提供了大量关于使用 GnuCOBOL 的信息。
OpenCobolIDE
您可以使用您选择的文本编辑器编写 COBOL,但集成开发环境使生活更轻松。OpenCobolIDE 是一个专门为使用 COBOL 而设计的 IDE。它提供代码完成、代码折叠、语法高亮和一个导航树,所有这些都有助于使用 COBOL 代码。它还具有多种颜色方案,包括浅色和深色,因此大多数用户应该能够找到他们使用起来舒适的主题。
OpenCobolIDE 是一个设计良好的程序,使用起来非常愉快。如上所述,它是一个非常专业的 IDE,仅适用于一种编程语言,但它在该语言上运行良好。界面很简单,应该不需要太多的努力就能习惯,但是如果用户需要帮助,OpenCobolIDE 文档提供了 IDE 的良好概述。
要在 Fedora 上安装 OpenCobolIDE,您首先需要安装一些先决条件。通过运行以下命令安装它们
sudo dnf install open-cobol python3-qt5
然后通过运行以下命令安装 OpenCobolIDE
sudo pip3 install OpenCobolIDE
其他发行版的安装类似(只需将 “dnf” 替换为适当的命令,并安装您的发行版等效的 open-cobol 和 python3-qt5 包)。某些发行版确实在其存储库中提供了 OpenCobolIDE 作为软件包,因此请在通过 “pip” 安装之前检查它是否可用。Windows 和 Mac 用户可以下载 OpenCobolIDE 安装程序并使用它们代替使用 “pip”。
Node.js 的 COBOL 桥接器
也许您想将一些 COBOL 代码与更现代的开发技术结合起来?如果是这样,您很幸运。Node.js 的 COBOL 桥接器允许您在 Node.js 项目中使用 COBOL 代码。
Node-cobol 需要 GnuCOBOL,因此请使用上述说明安装它,然后运行
npm install cobol
据开发者称,该项目已准备好投入生产,但老实说,它太奇怪了,不太可能实际使用(或将永远使用)在生产中。也许一些有进取心的读者会想出 Node-cobol 的实际用途,并与我们分享他们项目的案例?
13 条评论