Re:The World Depends on 60-Year-Old Code No One Knows Anymore
by jacquesm on Sunday December 03, 2023 @03:01PM
(#38510213)
PERFORM PERFORM UNTIL ...
The reason for that is that originally the 'WITH TEST BEFORE' bit wasn't there so what looked like the test was done afterwards actually would just exit the loop immediately without executing the loop body at all.
So the syntax totally wrong-footed you into believing that your loop body would always be executed at least once but never did...
The language itself also encourages troublesome patterns, like all variables essentially being globally defined and untyped, procedure line numbers matter because of things like PERFORM A THROUGH B (which will execute all logic found between paragraph A and paragraph B)