this post was submitted on 04 Feb 2025
151 points (94.7% liked)

Programmer Humor

20306 readers
1448 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
[–] LeFrog@discuss.tchncs.de 24 points 1 day ago (2 children)
[–] aMockTie@lemmy.world 38 points 1 day ago (1 children)

Statements that start with # in C/C++ are known as preprocessor directives, that is, they are executed before compilation begins. OP has used a #define which will replace any instance of A (IF(x)) with B (while (x)) in the code.

So the IF statement is really just a while statement.

[–] Kacarott@aussie.zone 15 points 1 day ago (3 children)

But what is it in reference to? What's the "infamous if loop"?

[–] aMockTie@lemmy.world 42 points 1 day ago (2 children)

Ah, I believe that would be this image from a college course.

[–] ulterno@programming.dev 5 points 20 hours ago

I always wondered why I always had a hard time making developers not call "if" a "loop".
Turns out it was on their tests.

Glad I didn't read my college material, or I would have lost faith in my college professors.

[–] NigelFrobisher@aussie.zone 3 points 1 day ago

It just occurred to that in Yorkshire dialect a while loop would actually be an until loop. Directives to the rescue!

[–] kyub@discuss.tchncs.de 9 points 1 day ago

"Infamous" just refers to newbies who sometimes call if statements "if loops". I've heard this quite a bit.

[–] AliasVortex@lemmy.world 1 points 1 day ago

Infamous because the condition is 1 (or true), the loop never actually exits because it's always true

[–] Reil@beehaw.org 3 points 1 day ago* (last edited 1 day ago) (1 children)

They used a macro to make 'IF' (which is distinctly not 'if') map to 'while'. So it's really a while(1) loop, which will repeat forever, or until the program is terminated, whichever comes first.

Someone's just being silly.

[–] LeFrog@discuss.tchncs.de 1 points 21 hours ago (1 children)

Thx!

'IF' (which is distinctly not 'if')

Is this something needed "for the meme" or something with this macro or C/C++? Or why the case-sensitivity here? I only know languages like Java, Python, JS. Unfortunately the ancient tongue is not known to me.

[–] Reil@beehaw.org 1 points 10 hours ago

It's not really that important to the joke, since I'm pretty sure you can also replace keywords like 'if' with the preprocessor. It's just that preprocessor macros are typically (style, not syntax) ALL_CAPS_WITH_UNDERSCORES.

It's just another clue that that block isn't actually an if-block, since C is case sensitive and 'IF' wouldn't actually work.