プログラム言語としてのCOBOLの今後

日経XTECHの記事によると、COBOL言語は2019年で生まれてから60年を迎えたそうです。

COBOL言語の歴史と特性

COBOLは1959年に事務処理用に開発された言語です。科学技術計算用にはFORTRANという言語があります。1990年ごろまでは金融系メインフレームシステムなど、社会基盤を担うようなシステムからオフィスコンピュータに至るまでいろいろなところで活用されていました。「IDENTIFICATION DIVISION」など4つの大きな章があり、また、「DATA DIVISION」ではそのプログラムで使うデータ型を全て宣言しておくなど、どちらかというと形式がしっかりとした言語です。また、モジュール間で引き渡すデータは「LINKAGE SECTION」で記載するとか、きちんと使えば保守性も担保できるような文法になっています。当初はプログラムを構造化するための文法が不足していましたが1985年あたりで改訂が行われて構造化できるようになりました。

従って、COBOLだから保守性が悪いということではなく、何十年もプログラムを使い続けているうちに何回も建て増しを行った田舎の旅館のように、プログラムの全体の見通しが悪くなったことにより保守性が劣化しているように思います。これは、JAVAであってもどんな言語であっても変わりません。COBOLは形式的な決まりごとが多い分、アジャイル開発のように反復する開発では生産性を上げにくいと思いますが、ウオーターフォールで作るような堅牢なシステムには今でも本当は向いているように思います。

レガシーなイメージ

そんなCOBOLもメインフレームコンピュータとともにレガシーな雰囲気を押し付けられて、COBOL言語を使っているから保守性の悪いシステムになってしまっているのだというレッテルを貼られてしまった面があります。特に最近ではJAVAやPythonなどの言語を使ったシステムが増えていて、新規に作るシステムでCOBOLを採用するようなケースは、もうほとんど無くなってしまったのではないでしょうか。

そんなこともあって、COBOL言語に精通している技術者を確保するのは難しくなっていて、古くから維持管理されているシステムの機能追加等で抱えられた状態になっているケースが多いのではないかと思います。

情報処理技術者試験においても、COBOLによる受験はできなくなり、1991年に登場したPythonに切り替えられることが発表されました。主に機械学習といった分野で使われることが多くなっている言語です。情報処理技術者試験では2019年秋期試験で切り替わります。

この切り替えが行われることによって、学校教育の中でもCOBOLが取り上げられることは減り、若年層のプログラム技術者でCOBOLに精通した人の数が更に大きく減っていくものと思います。

COBOLの今後

メインフレームコンピュータほどの能力を必要としない分野ではIAアーキテクチャなどを活用したオープンな環境に移行が進んできました。言語についてはJAVAなどに書き換える場合もありますし、全面書き換えをすると莫大なコストがかかる上に一定のリスクも伴うので、COBOLで作られたプログラムをそのままオープンな環境の上で使う場合もあります。後者のパターンだとやはりCOBOL技術者を残していく必要があります。

既に、COBOL言語からCOBOLクラスライブラリが呼び出せるだけではなく、JAVAクラスライブラリが呼び出せるようになるなど脱レガシーを目指す進化も進められているようです。ある一定数のシステムがCOBOL言語を採用し続ける以上、本当はさらに進化を続けることでCOBOLが魅力的な言語のひとつであってほしいと思っています。

コメント