24 september 2026
Feeling annoyed at a COBOL procedure call convention which I think is either a French thing, a boomer thing, or both.
It goes like this:
P10500-BEGIN-PROC1.
DO PROCEDURE STUFF
ON W-VAR1 W-VAR2 W-VAR3.
PERFORM P20300-BEGIN-PROC2
THRU P20300-END-PROC2.
P10500-END-PROC1.
EXIT.
P20300-BEGIN-PROC2.
STRING W-VAR1 W-VAR2 W-VAR3
INTO W-OUTPUTORSOMETHING.
PERFORM P30999-BEGIN-PROC3
THRU P30999-END-PROC3.
P20300-END-PROC2.
EXIT.
P30999-BEGIN-PROC3.
WRITE W-OUTPUT TO F-SOMEFILEIDK.
P30999-END-PROC3.
STOP RUN.
You get the idea. Note of course that EXIT is a no-op, unless it's EXIT PARAGRAPH or EXIT PROGRAM or EXIT PERFORM or something in which case it's a break, of course.
Anyway I got vscode working on this and you won't believe how many dead-code warnings popped up.
🐦⬛