this post was submitted on 12 Jun 2025
576 points (98.6% liked)

Programmer Humor

24261 readers
1783 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

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] kn0wmad1c@programming.dev 0 points 4 days ago* (last edited 4 days ago) (6 children)

num % 2 isn't a boolean result in any of these languages, so I feel like it would always output "odd"

Edit: 0 is false, everything else is true.

[–] moomoomoo309@programming.dev 8 points 4 days ago (3 children)

All of those languages will convert numbers into booleans, 0 is false, all other numbers are true.

[–] kn0wmad1c@programming.dev 3 points 4 days ago (1 children)
[–] SatyrSack@lemmy.sdf.org 1 points 4 days ago (1 children)

It doesn't make sense. I understand it, but it doesn't make sense.

[–] Lifter@discuss.tchncs.de 1 points 3 days ago

I agree. If anything it should check if there is a nuumber and 0 is clearly a number.

[–] sleeplessone@lemmy.ml 5 points 4 days ago (1 children)

In JS at least, there's a concept of truthiness and falsiness. 0, undefined, null, and a few other non-boolean values are treated as false if used in conditionals and logical operations, while every other value is treated as true. I'm pretty sure python has something similar.

[–] Hammerheart@programming.dev 2 points 3 days ago

It does. Empty collections, 0, None

[–] Kaboom@reddthat.com 5 points 4 days ago

0 is false in C, Python, and JS. It should work

[–] marcos@lemmy.world 2 points 4 days ago

You'd be surprised.

But seriously, numbers can be used as booleans in an impressive number of languages. Including machine code for almost every machine out there.

[–] Colloidal@programming.dev 2 points 4 days ago

The joys of dynamic typing.

[–] Maven@lemmy.zip 2 points 4 days ago (1 children)
[–] Lifter@discuss.tchncs.de 1 points 3 days ago (1 children)

They are not the same, but 0 can be implicitly converted to false.

What do you get if you do: 0 === false

[–] Lysergid@lemmy.ml 1 points 3 days ago