this post was submitted on 16 Jan 2024
528 points (98.7% liked)
Programmer Humor
19623 readers
23 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
That's behaviour that's just part of language design. If you rely on it you should probably check how the language you're using handles it.
relying on that behaviour sounds a lot like "clever" (read unnecessarily unreadable) code
Are you serious? It's one of the most basic and common if statements that exist.
If( foo != null && foo.isBar() )
That's what we're talking about. Looking before you leap.
I take issue with the whole "too clever" argument fundamentally (for a number of reasons), but this isn't some fancy quality of life feature. This is as simple as it gets
https://en.m.wikipedia.org/wiki/Short-circuit_evaluation
Yes I am serious.
Scroll on down to the first common example there champ.
If you really think that's being "too clever" I don't know what to tell you... A big reason I think that argument is bullshit is because writing simple code isn't a goal (what does that even mean?) - readability is a big one, and breaking up every part of every conditional would just lead to unreadable spaghetti
Also, take a look at the languages being discussed. This is a long settled question - every language I've ever used has this.
Including VB, I found out it uses AndAlso...so gross
several languages that are still in use have eager evaluation.
I'm a dumb programmer. The more I need to keep implicit behaviour in mind, the higher the probability I'm writing bugs. Short circuit evaluation is an optimization technique IMO and shouldn't be relied upon for control flow.
The aggressive tone you're using is completely unnecessary and immature, so I'll refrain from responding any further. Have a nice day.