"Please don't fall into the trap of believing that I am terribly dogmatical about [the goto statement]. I have the uncomfortable feeling that others are making a religion out of it, as if the conceptual problems of programming could be solved by a single trick, by a simple form of coding discipline!"
They're gotos with restricted semantics, just like every nearly every other control flow mechanism.
The restricted semantics makes it interesting without going into "an authority said they're ok". Abstracting so that you can more easily reason about (and you can explain to others so that they can more easily reason about) the full state space something can operate in is a not terrible definition for engineering in general.
Lol, they're common patterns even in asm. I've programmed plenty of systems that don't even really support C that well, and you end up doing the same things.
> Please don't ever code on a project I care about.
What a visceral reaction to me saying that `return` isn't an inherent truth but rather an artifact of network effects! I never would've expect this level of vitriol for this comment.
—E. W. Dijkstra