全3519文字
PR

 英マイクロフォーカス(Micro Focus)が2022年2月に発表した調査結果によると、世界中の企業や組織で現在使われているCOBOLコードの総数は7750億〜8500億行で、これまで推定されていた規模の約3倍に相当するという。

 同調査では、回答者の92%がCOBOLを戦略的な言語として捉え続けていることも明らかになった。また前年の調査では回答者の52%が、所属組織におけるCOBOLベースのアプリケーションが少なくとも今後10年間は残り続けると答えたという。

 筆者はCOBOLプログラムが増殖する日本の現場を見てきた。

 COBOLコードの行数はプログラム1本当たり平均1000行といわれるが、ある企業のシステムでは平均の10倍である1万行のプログラムが散見された。既存のプログラムを理解して修正するのは困難なため、改修のたびにGO TO文(飛越し文)による分岐を繰り返してコードを追加していた。

 「これまで動作していたロジックを消すのは怖い」あるいは「何かの機会に復活させることがあるかもしれない」というプログラマーの心理が働いたのだろう。結果としてプログラムの行数は増大し続けたが、増えていたのは主にデッドコードで、実際のロジックを担うコードはそれほど増えていなかった。

 別の企業のシステムでは、取引先が増えるたびに類似した取引先との処理プログラムを丸ごとコピーし、条件が異なる部分だけを修正する改修を続けた。その結果、わずか5年で総プログラム数が5倍の10万本に増えてしまった。

 こうしたシステム改修は論外だと思うかもしれないが、開発当初から数十年が経過し当初の開発者がいなくなった現場の担当者にとっては、仕方のない選択だった。業務担当者からの改修や改善の要望が日々積み上がり、納期が迫った結果としてこのような改修を選ばざるを得なかったのだ。

 また、メインフレームからの脱却を段階的に進める過程で、過渡期のインターフェースのために新たにCOBOLアプリケーションを追加開発せざるを得ないプロジェクトも多い。COBOLプログラムの急速な増殖は、COBOLシステムが支える業務そのものに対する投資の結果ではなく、その場しのぎの改修を繰り返した結果といえる。太陽が膨張を続け赤色巨星となり、やがて生涯を終えるように、COBOLの膨張はその役割を終える前兆のように感じている。

「計測して制御する」ことの重要性

 絶対温度の単位であるケルビン(K)で知られる英国の物理学者ケルビン卿(ウィリアム・トムソン氏)は「計測できなければ改善できない(If you can’t measure it, you can’t improve it)」と語った。