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?
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