me: goto isn't bad to use in all cases, you just have to be careful with it
me, shortly thereafter: turns out my insurance doesn't cover pitchfork wounds

Follow

@typhlosion
me: everything is goto when you disassemble the bytecode deep enough.

@Fuego well of course, same if you're hand rolling assembly, but that doesn't stop people from complaining endlessly and needlessly about its use in higher level contexts

@typhlosion I feel strongly that complaining about HOW to code is people doing something else so they don't HAVE to code.

@Fuego in general i agree, but the opinions of others are worth at least a passing consideration if you're writing code you intend anyone else to view and comprehend at any point in the future

@typhlosion luckily when you write exploits for a living 99% of your control flow code isn't actually in the exploit - its the program you're exploiting, so the person who wants to understand your code has to reverse the target to sort it out 100% of the time.

Everything else I write are just my own tools ;)

@Fuego @typhlosion To be sure, coding standards on a team are a good way to help people spot what I've come to call "code smell," the Bad Ideas that I've just learned Not To Do because they're inefficient, but explaining _why_ is hard and takes a long time to understand. That, however, assumes you have a team, and they care about such things.

@Fuego @typhlosion
Me, a computer scientist: GOTO is a terrible linguistic concept and any high-level language should be embarrassed by its inclusion.
Me, a programmer: break, continue, next, and last are all GOTO by other names, and nobody complains about them. Sometimes you want to short-circuit other parts of your code.
Me, a hacker: // LOL make this a function later my life is pain this should live in its own package worms in my brain get them out.

@Fuego @literorrery me, cosmic brain: [quietly writes code with self-modifying jumps]

Sign in to participate in the conversation
Awoo Space

Awoo.space is a Mastodon instance where members can rely on a team of moderators to help resolve conflict, and limits federation with other instances using a specific access list to minimize abuse.

While mature content is allowed here, we strongly believe in being able to choose to engage with content on your own terms, so please make sure to put mature and potentially sensitive content behind the CW feature with enough description that people know what it's about.

Before signing up, please read our community guidelines. While it's a very broad swath of topics it covers, please do your best! We believe that as long as you're putting forth genuine effort to limit harm you might cause – even if you haven't read the document – you'll be okay!