もののけ姫に学ぶ、生成AIでも日本のCOBOLは救われない理由
IBMがCOBOLをJavaに生成AIで変換とかいうニュースを見ました。これはこれで面白いし可能性は感じるのですが、日本の「COBOL」はこれではまだ救われないと革新しています。というのも日本の「COBOLシステム」の多くが、純粋なCOBOLじゃなくて 4GLと1980年代後半当時に呼ばれた日本語CASEツールで 「自動生成」された謎COBOLコードが大量にあるのが問題なんです。 その事情は 「なぜ大量のCOBOLシステムが刷新されないか、コード自動生成が生む闇」で アクセンチュア の中野 恭秀氏が解説されています。
実は私、そういう日本語のCASEツールの開発環境、YAC II/COBOL 富士通メインフレーム環境でプログラミングをしていました。そこでのプログラムはロジックを日本語で記述した YAC II チャートがプログラムコード扱いであり、生成されたCOBOLコードは中間生成物として見ることはなくコンパイルされていました。
その後、CASEツールは廃れ、日本語の仕様書がプログラムコードになるという4GLへの期待は壊れ、生成された大量の 中間コードのCOBOLを延命させるために、J2EE/Java への変換と、リニューアルが大きな課題となりました。1980年代後半に複雑で大量のロジックが膨大な工数をかけて量産されており、z/OS / Java などにプラットフォームを移して延命させる最適解はコードのコンバートだと考えられたわけです。しかし、コンパイラが出力した中間コードのCOBOLをJavaに更に変換したコードが人間業でメンテナンスできるのか という説明をするだけでもう無理ゲーだと実感します。
映画もののけ姫での名台詞を借りると、 「黙れ小僧!お前に日本の謎COBOLが救えるか」という命題になります。
日本語の仕様書としてメンテナンスされて、他のコードにも将来的には変換可能であったはずの ロジックには成れず、かといって、純粋なCOBOLコードにもなりきれない日本語4GLが生成した謎COBOLコードの不幸は、ヒロインのサンよりも救いようがないように思われます。
そして、そんなことを聞かれても、「わからぬ。だが富士通メインフレームとYAC II/COBOLががサポートされているうちは動くかもしれないけど、コードを書く若者という生贄を出し続けるのは無理!そして、富士通メインフレームが滅びるのでもう生きられない」という答えに行き着きます。
ここは富士通が誇る富岳で、なんとか YAC II/COBOL を救う 生成AIを生み出して、私が愛し、コードを残したFACOMベースのシステムを成仏させて欲しい、そう願ってやみません。