POSTD PRODUCED BY NIJIBOX

POSTD PRODUCED BY NIJIBOX

ニジボックスが運営する
エンジニアに向けた
キュレーションメディア

POSTD PRODUCED BY NIJIBOX

POSTD PRODUCED BY NIJIBOX

ニジボックスが運営する
エンジニアに向けた
キュレーションメディア

FeedlyRSSTwitterFacebook
Joshua Allen Holm

本記事は、原著者の許諾のもとに翻訳・掲載しております。

osdc-cobol
image by opensource.com

コンピューティング史の初期、伝説的な人物がいました。 プログラミング言語COBOL の母、 Grace Hopper です。彼女は数多くの功績を残しましたが、特に初のコンパイラを発明したことと、特定の機種に依存しないプログラミング言語の普及に貢献したことで有名です。現在でも、女性情報科学者のためのイベント「 Grace Hopper Celebration of Women in Computing 」が開催されるなど、彼女の功績は様々な形で受け継がれています。

Hopperがコンピューティングにもたらした貢献は人々の記憶に残り、称えられ、後人たちの基盤となりました。しかし、その一方で、COBOLそのものは、前時代のコンピューティングの遺物として、あまり使われなくなってきています。全く使われないというわけではありませんが、事実です。現在、COBOLが記述されるのは、ほとんどがレガシーコードのメンテナンスのためで、新しいプロジェクトを始めるためではありません。その一方でCOBOL言語は今でもアップデートされていて、最新の規格として COBOL 2014 があります。また、 COBOLの使用経験が必要な仕事の求人 も、いまだに数多く存在します。

ありがたいことに、今はCOBOLを使う場合にレガシーハードウェアを見つけ出す必要はありません。他のプログラミング言語を用いるのと変わらない使い勝手で、COBOLを現代のコンピューター上で利用するためのツールがあるからです。以下で紹介する3つのオープンソースプロジェクトは、MacやLinux、Windowsなどのコンピューター上でCOBOLをコーディング・コンパイル・実行する時に役立つものです。さあ、COBOLプログラミングの本を開き(もしお持ちでなければ、Michael Coughlanの著書『 Beginning COBOL for Programmers 』をお勧めします)、COBOLの世界を探訪しましょう。パンチカードはいりませんよ。

GnuCOBOL

GnuCOBOL (以前はOpenCOBOLという名前でした)は、現代的でオープンソースなCOBOLのコンパイラです。これはCOBOLのコードをC言語に変換し、GCCを使ってコードをコンパイルします。このプロジェクトは標準規格への準拠を明言してはいないものの、米国国立標準技術研究所のCOBOL 85 test suiteに含まれるテストのほとんどで合格できます。他のコンパイラの方が、より標準規格を満たしていたり、歴代のものと同じ特性があったりするかもしれませんが、GnuCOBOLはこの後で述べる2つのプロジェクトでも使われるコンパイラです。

FedoraにGnuCOBOLをインストールします。

sudo dnf install open-cobol

他のLinuxディストリビューションの多くや、UNIXスタイルのシステムにインストールするのは簡単です。Debianベースのディストリビューションでは、”dnf”を”apt-get”で置き換えるだけです。Macユーザであればhomebrewを使ってGnuCOBOLをインストールできます。Windowsでのインストールは少し複雑ですが、GnuCOBOLをWindowsで試したい場合にも インストラクション があります。

ファイル名”PROGRAM.cob”のソースコードを実行ファイルにコンパイルします。

cobc -x PROGRAM.cob

他にもコンパイルをする際のオプションはたくさんあり、”cobc -h”を実行するとそのリストを見ることができます。 GnuCOBOL FAQ はとても詳しく、GnuCOBOLの使用方法について多くの情報を提供しています。

OpenCobolIDE

お好きなテキストエディタを使ってCOBOLを記述できますが、IDEであれば更に簡単です。 OpenCobolIDE はCOBOLを使う作業専用に設計されたIDEで、COBOLのコードを扱う際に役に立つ、入力補完、コード折り畳み、シンタックスハイライト、ナビゲーションツリーを提供しています。また、明暗両方でバラエティ豊かなカラースキームを備えているので、多くのユーザが、快適に使用できるテーマを見つけられるはずです。

OpenCobolIDEは非常に良く設計されていて、快適に作業ができます。前述したとおり、1つのプログラミング言語のみに特化したIDEですが、その言語に対しては大変優れた仕様になっています。インターフェースはシンプルなので慣れるのは簡単ですが、ユーザは助けが必要でしょう。 OpenCobolIDE documentation ではIDEの概要が分かりやすく提供されています。

OpenCobolIDE
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”を使ってインストールできます。

COBOL bridge for Node.js

おそらく、COBOLコードを、もっと現代的な開発技術と組み合わせたいと思っているのではないでしょうか。そうであれば、ご安心ください。 COBOL bridge for Node.js を使えばCOBOLコードをNode.jsのプロジェクトで利用できます。

Node-cobolにはGnuCOBOLが必要なので、上記のインストラクションに従い、下のコードを実行してください。

npm install cobol

開発者によるとプロジェクトの実用準備はできているとのことですが、現在(将来的にも)、実際に使われることはないので、とても奇妙に聞こえます。しかし、いつかどこかの企業のリーダーがNode-cobolを実用化する方法を思いつき、私たちに共有してくれる日がくるかもしれませんね。

監修者
監修者_古川陽介
古川陽介
株式会社リクルート プロダクト統括本部 プロダクト開発統括室 グループマネジャー 株式会社ニジボックス デベロップメント室 室長 Node.js 日本ユーザーグループ代表
複合機メーカー、ゲーム会社を経て、2016年に株式会社リクルートテクノロジーズ(現リクルート)入社。 現在はAPソリューショングループのマネジャーとしてアプリ基盤の改善や運用、各種開発支援ツールの開発、またテックリードとしてエンジニアチームの支援や育成までを担う。 2019年より株式会社ニジボックスを兼務し、室長としてエンジニア育成基盤の設計、技術指南も遂行。 Node.js 日本ユーザーグループの代表を務め、Node学園祭などを主宰。