でぃするだいありー?

そんな気はないんだれど、でぃすっちゃってる。 でぃすでれ?

COBOLを読むことになった日

Javaの仕事を希望していたのに、なんでかCOBOLを読むことになった。COBOLは未経験だと言っていたのに、そういうことになった。このご時世に、COBOLが読めないことがまるで欠点であるかのような言われようをして、なお読むことになった。

WebのUIからシェルスクリプトがキックされて、シェルスクリプトがPro*COBOLのプログラムを実行する、らしい。

Pro*COBOLのプログラムはOracleのDBからデータを取得し、加工して生成する。その生成物は、たぶんシェルスクリプトがクライアントから参照可能な場所にファイル出力している。この辺の機器構成は公開されなかった。

WebのUIはその後、クライアントに配置されたマクロを自動実行するエクセルファイルを開き、クライアントに配置されたバッチファイルを実行する。バッチファイルはFTPで先のファイルをサーバからクライアントに転送し、エクセルはそのファイルを読んで内容を表示する。

なんとも煩雑な仕組みだが、コストをかけないことを最優先要求としてイントラネットの社内ツールを設計すると、20年くらい前ならばこんなカンジになるのかもしれない。

いつものとおり、仕様書はないが変更仕様書は書け、という仕事だ。公開されたのはCOBOLのソースとエクセルファイル、概要レベルのフローチャートとDBのテーブル定義書だけである。エクセルのVBAOracleのVIEWを参照しているのだが、VIEWの一覧は存在しないらしい。VIEWの定義書は不要だが、それに機能名が書かれていれば、一覧が助けになることがある。ID的なものでなにもかも命名され、ソースファイル内のコメント濃度が希薄な場合には特に。

Pro*なんとかとかOracleとか、触るのは20年ぶりくらいになる。20年ぶりに触ったOracle関係のあれやこれやはユーザ視点では相変わらず不愛想なカンジだ。なじみの薄いあれこれだからという理由だけではない、不愛想さだ。

問題のCOBOLプログラムといえば、読み始めて二日が経過したが、とても気持ち悪いという実感が強い。変数がすべてグローバルというのがその最たるものだ。

ドヤ顔でCOBOLの仕事を渡してくるのだから、さぞかし優れたCOBOL開発環境があるのかと思いきや、テキストエディタで読んでいくしかないらしい。2000行くらい、あっちこっちに行かねばならない。そんなのが二つ。

脳内にポインタを差し込んで根性で保持しているようなカンジ。慣れない文法に疲れるとかじゃなくて、気持ち悪くなるカンジ。たぶん、グローバル変数使いまくりな出来の悪いソースを見ているときに感じるなにかだと思うが、COBOLはこれがスタンダードらしいのでしかたない。

グローバル変数は嫌いだが、心底嫌いというわけではない。世の中には心底嫌いだということが滲み出ている方もいらっしゃって、なんでだろうと思っていたのだが、COBOLの経験がそうさせたのかもしれないと思うようになった。

この業界に足を踏み入れたころ、およそ20年前のことになるが、COBOLは遠からず廃れる技術であると言われていた。10年ほど前だったか、都内の電車内で株式会社COBOLの広告を見かけて、需要尽きずという印象を抱いた。

未だに資産が底をつかないというのは、すごいというべきなのか、あきれるべきなのか。