COBOLのキモ。

とまぁ何かそれらしいタイトルをつけてみたが、単にCOBOLはキモイというお話。
REDEFINEという機能があるんだけども。Re-Defineだから「再定義」っていう機能なんだけどさ。
これがもうキモくてキモくて・・・。
一度定義した変数を、あとでまた定義しなおすという夢のような機能。
たとえば、「5文字の文字列」って定義した変数を
後で「3文字の文字列と2文字の数字」とかって定義しなおすことができるのね。
しかもこれが同じ位置に定義されるから困り者。まぁそうじゃないとうれしくないんだけどさ。
プログラムを流してるといつの間にかその変数がまったく別の値になってる。
今回出会ったのは「計算結果が負の数になったら、先頭1バイトを"-"にして残りを数字にする」ってやつ。
今までずーっと「こいつは10バイトの数字だ」と思ってたやつが、気がつくと9バイトの数字になってるわけですよ。
あーもうキモイ!蕁麻疹出そう(ぉ
まぁテーブル定義書を"よく"読めば書いてあるけどね。


そんなお話。