COBOLの謎
COBOLにはオープン系の人間には思いもよらぬ命令がある。その典型的なものが「ソースコードを印刷する時の印刷のされ方を指示する命令(リスト制御文)」だ。
例えば
- SKIP1,SKIP2,SKIP3 : ソースを印刷したときに空行を1/2/3行入れる
- EJECT :印刷時に改ページする
- TITLE :印刷時のタイトルを設定する
とか。こういった命令文が、MOVEとかIFとかと同じ感じで何気に入っているんだ。「COBOLは文書を書くようにプログラムを書ける」というのが思想だったらしく、構文の英語チック(MOVE A TO Bとか)だったり、このようなWORDかよ、というような制御命令もかける。なんだかなあ。
あと、SKIP1,SKIP2,SKIP3ってのも普通の感覚だったらせめてSKIP(n)とかいう空行の数を引数にできるような文にしろよ、と思うが、そもそもCOBOLにおける関数は、副作用のない組込関数が主のようだから、こういう発想はないのかね。