• spartanatreyu@programming.dev
    link
    fedilink
    arrow-up
    7
    ·
    1 day ago

    Gotos being bad falls in the it depends category.

    Bad:

    • When you think you’re going to do something clever (when you should probably be reaching for a different tool that you may or may not know exists)

    Good:

    • When in the form of a jump that’s was written by a sound compiler
    • When learning how assembly works
    • When working on codecs and you’re actually going to spend the many hours to get everything right.
    • Labelled breaks in nested for loops
    • Embedded systems when resources are constrained
    • When writing debuggers
    • When writing anti-cheat systems
    • And finally, when you actually need to because you’re manually managing things (e.g. you’re writing a kernel)