🧩今日の学び
・EXIT PERFORMは無駄ではなく、本来の動線を残す“意図の見える余白”。
・実行されない行も、読み手に正しい文脈を伝える設計要素になる。
・COBOLの可読性思想を理解することで、ループ制御の判断がより的確になる。
係)よし、今日のテーマは前回から引き続きのこれだ。
——EXIT PERFORM
ほれコードだ。
MOVE 1 TO CNT.
PERFORM UNTIL CNT > 10
DISPLAY "COUNT: " CNT
IF CNT = 5
DISPLAY "Reached 5, exiting loop."
EXIT PERFORM
END-IF
ADD 1 TO CNT
END-PERFORM
DISPLAY "Loop finished.".
EXIT PERFORMの本質:抜けた先に“残るはずの動線”
な)なんすかこれ?EXITが出てきてPERFORMから抜け出すって感じはわかって、10回ループってのわかります。
でも、CNTが5になって、EXIT PERFORMで抜けちゃったら、その下いらないんじゃないの?
むだっすか!バブル世代の無駄が美学ってやつっすか!10,000円出して、1,000円札を買うってやつっすか!
係)それは無駄じゃなくて、バカだろ。
それおれのこといってんのか?泡立てんぞ。
な)うわっ、怒った!?係長、生クリーム泡立てて角が立った!クララが立った!とか言ってる場合じゃないですよ!
係)うるせーよ。
な)えー、ハイジとかド世代でしょー。かまってくださいよー。
係)だから、うるさいっての。
いいか、確かにPERFORMを“抜ける”から下のADD 1 TO CNTは実行されない。
でもそれは“無駄”じゃなくて、意図が見える余白なんだ。
動かない行が示す文脈:意図が見える“余白”の役割
な)意図が見える余白?
俺はあいつのために戦う!
(しかし俺はもう立っているのがやっとだ、しかしそれでも!)
みんないくぞ!
みたいな行間的な?
係)……誰と戦ってんだよ。
な)己と!この腐りきった世界と!怖い顔なだけの係長と!
係)最後のいらねぇだろ。それに怖い顔だけってなんだよ、だけって!
はぁ……まぁ、だいたい合ってる。
な)え、マジすか!?
係)“意図が見える余白”ってのはな、動かなくても「そこに本来あった動線」が見える状態のことだ。
たとえば、この行
ADD 1 TO CNT
これはループの正常進行を示す行だ。
EXITで抜けると実行されないけど、「本来ならここでカウントが進む」っていう文脈の証拠になる。
な)おぉー、まさかCOBOLにポエム要素があるとは…。
“書かれたけど動かない”
グラウンドにはいるけど、もう動けない俺。でも試合は進んでしまう。噫無情。
係)詩に寄せてるだけだろそれ。
プログラムってのは読む人のための構造ってことだ。
コスパ時代に逆行する美学:沈黙で伝えるロジック
な)なるほど!!
動かなくても“文脈”を残すことで、次の人が「あ、ここで抜けたんだな」ってわかるんすね!
係)なんかいきなり興奮したな…
な)だって、びっくりですよ!
完全に無駄じゃないですか!
でも無駄じゃなかった!ってのは今まで考えたことないですよ!
このコスパ、タイパ言われる時代に!全部を否定!かっこいいっす!
係)そうだ。だから“無駄”じゃないってことだ。
「沈黙で伝えるロジック」ってやつだ。
おむすび
係)お前もコスパとか重視するのか?
な)えー、コスパとかタイパとかいっちゃたら、おれクビになっちゃいますよ…。
反対デモで皇居外苑を闊歩したいですよ!ゆっくり歩きたいですよ!
係)勝手に一人で闊歩して職務質問受けてろよ!
ま、コスパとかぬかして仕事しないやつより、マシではあるが。
な)マジですか!だったらラーメンとカレーでいいっすよ!あ、カレーはカツカレーがいいっす!目玉焼きもつけてくださいね!
係)別に褒めたわけじゃねーよ。なんで奢らなきゃならねーんだよ。
そもそも、マイナス10,000ポイントがマイナス9,999ポイントになっても変わりはないだろうが。
な)ええー!だって、一桁も違うんですよ!大きな違いですよ!
係)お前のポジティブさには勝てねーよ…はぁ。
係長のワンポイント
EXIT PERFORM は“今この瞬間だけループを抜ける”ための脱出ハッチだ。
実行されない行が残っていても、それは“本来の進行ルート”を読者に示す大事な手がかりになる。ADD 1 TO CNT のような“正常ルート”を敢えて残すことで、どこで意図的に離脱したかが一目でわかる。
削ればスリム、残せば文脈──COBOLは後ろの人のためにロジックを残す文化だ。
動かなくても意味がある行、それがEXIT PERFORM周りの“意図が見える余白”だ。

コメント