r/ProgrammerHumor 20h ago

Meme iHateThisPassiveAgressiveBehaviourRuby

Post image
2.5k Upvotes

268 comments sorted by

View all comments

Show parent comments

1

u/Key_Conversation5277 19h ago

if(42) -> true

What fucking sense does this make? A number is a number, not something to be coerced to a boolean. Thankfully Java doesn't have this nonsense

1

u/ReefNixon 19h ago

Ok, so what would you like if(42) to do instead?

4

u/Key_Conversation5277 19h ago

... An error? Lol

-1

u/ReefNixon 18h ago

Yeah, not false.

If being explicit here matters, why not force the programmer to also explicitly manage registers, memory addresses, machine instructions, whatever? Because abstracting away concerns is the reason high level languages exist.

Truthy is just a way of abstracting away concerns about whether a value is intended to pass a conditional or not.

Picking your preferences over which features you like and don't like is one thing, but saying it doesn't make programmatic sense is something else. Nobody is forcing you to write if(42), you don't have to, but surely it makes sense that nobody who writes if(42) is hoping for falsey?