83
Shearing point
(thelemmy.club)
Post funny things about programming here! (Or just rant about your favourite programming language.)
IF and GOTO are the only flow control we need; everything else is for cowards.
Goto is surprisingly readable.
Loops don’t get labels. Labels are awesome. Sprinkle in some goto so you can use labels.
In languages like python inside a loop you have
if condition: continue. Except continue means don’t continue, you skip to the next iteration without breaking the loop. That’s confusing as heck (and what iselsedoing on loops Guido???).if condition: goto loopis more honest.I also like that goto is “take my stack frame and run that procedure instead”, which is kind of unique and cool in its own way, and impossible to do with most lexical scoping systems. It’s reliable zero cost function calling (if you can make your optimizer happy).
Everyone loves repeating “goto considered harmful” and “numbering should start at zero”, but nobody critically thinks about those things. Rules are made to be broken.
~Oh, and the numbering argument is totally wrong… using one notation to advocate for another is silly. Offset from zero, but index by domain logic!~
Goto CAN be readable, it's true.
The problem is that it's easy to make code that is LESS readable; in order to prevent horrible unmaintainable spaghetti, it is forbidden nearly everywhere. A lot of coding 'rules' are really just ways to try to cut down on stupid coding practices by greenhorns and enforce code maintainability.
spaghetti is delicious for a reason.