stefanos82 36 minutes ago

There is an April Fools' joke [1] that demonstrate this and I cannot tell it's readable or not...I personally find it confusing in Python, but not in C's case which can make things clearer, if you use it wisely and in moderation!

[1] https://entrian.com/goto/

Jtsummers 3 hours ago

What would be the behavior of goto in Python? Would you have it jump across functions, modules, stay within a particular scope (file or function scope)? How would you ensure it's well-behaved when jumping into a loop body, or out of it? Saying you want it communicates nothing, explain how it would (or could) work so people can judge your idea.

tocs3 8 hours ago

I do not have strong opinions, except to ask why? I use python a lot (recreational these days) and do not miss a GOTO. Maybe though, you have a case I do not run into often.

  • n1xis10t 8 hours ago

    Well, I suppose I just like them. There has been once or twice when I thought “This would be so much easier with a GOTO” but unfortunately I have no idea what those situations were, and I don’t think I wrote them down anywhere.

ggm 7 hours ago

I don't think the "considered harmful" says much to the current coder, but I do think throwing out from deep/loop state to a target is an ugly code method which leaves all kinds of problems behind in it's wake.

Early termination of loops, assumptions about the values present, locality of reference, mutated state.

If your problem is speed, I don't think it necessarily is actually more runtime efficient. If your problem is die early, then it loses information an assert() would preserve. If your problem is a dislike of if-elif-elif- then I think you argue more for a case: statement than a GOTO.

I used them enough in the past to suffer the consequences of debugging around them. I don't miss them, they haven't consciously been in my back pocket armory for some time. I'd rather find other ways to fall through/out-of code to a fixed point.