脱COBOLブーム

近年では、DX推進として既存のITシステムのブラックボックス解消やデータの利活用が進められることに加えて、メーカーのメインフレーム製造終了やCOBOL技術者の減少などの理由から、COBOLシステムをパッケージやJavaに置き換える動きが加速しています。

企業の脱COBOLの事例や計画がニュース記事となることも増えており、一層それが加速している印象があります。

例えばこのような記事があります。

・au PAY、ポイント基盤を刷新 “脱COBOL”実現(2023/3/1)
・次期全銀システムは富士通メインフレームとCOBOLから脱却へ、何が変わるのか(2023/2/8)
・ベイシアが挑んだ「脱COBOL」の全容(2022/10/27)

しかし、実際に脱COBOLを推進するためには、数十年に一度の大規模刷新として、多額の予算や人材の確保、IT資産の整理などが必要です。

それだけの予算や人手に見合うメリットがあるのかどうかが議論され、先延ばしや断念をするケースも多くあります。

そのため現在もCOBOLをメインフレームで使い続ける企業、オープン系COBOLを利用する企業、脱COBOLを断念した企業など、今日においても冒頭の統計データの通り、世界にはまだまだCOBOLが残っており、多くの企業が事務処理計算の中心として利用しています。

COBOLをやりたくないと言う背景

少し前の記事ではありますが、学びたくない言語ランキングでCOBOLは1位でした。

・技術者440人が「学びたくない」言語ランキング、不名誉な首位はあの言語(2019/11/20)

この記事の中に理由は出てきませんが、他のCOBOLが登場するニュースやIT雑誌の論調、色々な方々と話してきた経験から、「難しい」や「新しいことができない」という理由が多いように感じています。

COBOLは難しい?

まず、COBOLが「難しい」というのはどういうことでしょうか。COBOLで構築したシステムは、歴史が長く大規模であることから、増改築で複雑化しているということが多いです。例えば、以下のようなプログラムが見受けられ、保守がし辛くなっています。

・コピペで複製して少し変更しただけのプログラムがたくさんある
・万が一に備えて念のため残したコードが残存している
・引継ぎ不十分でその場しのぎで作ったコードで動いている
・ベンダー独自機能や特殊な機器向けの制御コードが多用されている

本来、COBOLは平易な英語の単語や語句を使う理解しやすい言語です。COBOL自身が難しいというよりは、システムの維持管理の問題であることが多いです。同じことはCOBOL以外の言語でも起こります。

COBOLは新しいことができない?

次に「新しいことができない」ですが、COBOLは止まってはいけない基幹システムで使われていることから当然ではないかと考えます。安全、安心が求められるシステムでは、新しい技術や実績の少ない技術の適用は困難です。

一方で、COBOL自身は、各ベンダーが最新技術を取り込んでおり、XMLやJSONが扱え、REST APIを呼んだり、Javaや.NETと相互連携したりすることもできます。

COBOL自身の機能不足が理由で新しいことができないのではなく、利用されるシステムの性質によるものであり、同じことはCOBOL以外の言語でも起こります。

やりたくない、学びたくないという理由は、COBOL言語ではなく、COBOLシステムの資産の状態や適用場面という背景があります。