お問い合わせ

ホーム > COBOLのはなし > COBOLにまつわる昔話 〜 今もCOBOLは良いか 〜

COBOLにまつわる昔話 〜 今もCOBOLは良いか 〜

内田 正章

先ごろ、若手のCOBOL技術者の参考になるようなことを書いてくれとの依頼を受けました。現役を退いて久しい私には大したネタがないとの抵抗も、押し切られてしまいました。少し前のことですが、10代後半の学生らと話したとき、彼らの多くがステレオという言葉を知らなくて驚きました。世代によって常識が異なるということなのでしょう。依頼の“若手”がどの年代なのかは定かではありませんが、私と同世代なら誰でも知っているような昔話でも何かの参考になればと思って書いてみることにします。

COBOLは古いか

2000年 9月に、COBOL生誕40周年記念行事が開催されました[1]。この行事の実現にあたっては、COBOLコンソーシアムの初代会長となる故今城哲二氏がご尽力されました。私も関係者の一員として参画しましたが、あれからもう16年。ということは、1959年に米国で誕生したCOBOLは、57歳ということになります。

話は変わりますが、2007年に年金記録問題が顕在化しました。社保庁の5000万件以上にのぼる“宙に浮いた”あるいは“消えた”年金の問題です。ジャーナリストで評論家の田原総一朗氏が発信した論評[2]の中に次のような一節があります。少し長くなりますが、引用します。

「7月1日のサンデープロジェクトで、公明党の斉藤鉄夫政調会長に話を聞いた。彼は東京工大を出て、日本の国会議員の中で、最もコンピュータシステムに詳しいといわれている。彼がいうには、いまだに社保庁のシステムはCOBOLというプログラム言語を使っているという。これは彼が学生時代に使っていたもので、40年も前のものだ。つまりこの年金の問題は、あまりにも古いシステムとハードを使っていることから起きたのだ。なぜこのようなことが起きたのかというと、まさに社保庁は倒産しないからだ。一般企業ではそんな古いものを使っていれば、数字が無茶苦茶になって倒産するから、何年かに1回は切り替えている。それを社保庁は、40年も切り替えないできた。」

上記は全7ページに及ぶ文章の一部で、田原氏の論文の骨子ではないかもしれません。そうであったとしても、COBOL関係者としてはこのような言及を見過ごすことはできません[3]。『日本コンピュータの黎明』[4]という技術面も含めて丁寧に解説した著書を通じて田原氏に信頼感を抱いていただけに、この的のはずし方には落胆しました。

消えた年金をCOBOLのせいにするのは、宅配便の荷物が紛失した原因をトラックの古さに求めるようなものでお門違いもいいところです。ですが、世の中にはこの手の認識が多いような気もします。私が現役のころにも、ハードウェアのダウンサイジングに伴い、〔システムの運用形態はそのままで〕記述言語をCOBOLからCに移行して“オープン化”したいというような商談をときどき耳にしました。中途半端な情報に頼るトップを持つ現場のご苦労が目に浮かびます。

かくして、COBOLを巡って、長寿を言祝ぐ由緒ある言語と捉える勢力と、老いぼれのやっかい者とみなす一派との間でせめぎ合いが起こっているようです。前者に与する者としては、COBOLが長年にわたって事務処理を支えて来た実績と、現在でも稼働資産の過半数を占め続けている事実を強調したいところです。

またまた学生相手の話で恐縮です。彼らに「ソフトウェアの寿命ってどのくらいだと思う?」と質問します。プログラミングの勉強を始めたばかりの若い人に答えられるはずもありません。私は「長くもあり、短くもある」と説明することにしています。ひとたびソフトウェアを作り上げると、数十年にわたって使い続けることが多いからです。多大な投資の結果だけに当然です。その一方で、かなり頻繁に更新が生じます。金融機関のシステムなどは、サービス強化や法改正に伴って毎月のようにアップデートされているんだよなどと、某銀行担当SEだった友人の話を請け売りしています。

COBOL言語システムでも同じことです。生まれたままの姿で還暦を迎える訳ではありません。技術の進化、環境の多様化、ニーズの変化に合わせて、繰り返し近代化が図られてきました。だからこそ、ビジネスの第一線で使い続けられている訳です。

人気者の宿命か

2005年に、ある証券取引所で事件が起こりました。ある金融機関の担当者がある新株 1株を61万円で売るところを、1円で61万株と誤発注しました。この担当者はすぐ間違いに気付いて取り消しを試みたのですが、システムが受け付けず、市場に多大な損害と混乱を引き起こしたというものです。私が小学生のころに、地元の個人商店が全品10%引きを10割引きと印刷したチラシ広告を配って騒ぎになり、警察官立ち会いのもとゴメンナサイで決着したという出来事を思い出しました。誤発注も似たような形で済ませればよさそうなものですが、高度に発展した契約社会においてはそんなのどかな解決は望むべくもなく、裁判にまで発展しました。

本件でも、トラブルを起こしたプログラムの記述言語ということでCOBOLが取り沙汰されました。日経コンピュータ誌には『COBOLのソースコードが法廷に』というタイトルで、COBOLプログラムの障害箇所まで掲載されました[5]。ただこのときは年金記録問題のときほどCOBOLが槍玉に挙がった訳ではありません。詳しくは知りませんが、設計/製造の分業時の意思疎通、単体テスト/システムテストの方法、無停止システムの運用方法などに論点が移ったような印象を持っています。

いずれにせよ、情報システムに何かコトが起こると、COBOLの名前が出てきます。これもCOBOLが基幹系アプリケーションシステムのほとんどを支えていることの裏返しなので、やむを得ないことなのかもしれません。

次回に続く