this post was submitted on 04 Feb 2025
111 points (95.9% liked)

Programmer Humor

20284 readers
1137 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
 

top 17 comments
sorted by: hot top controversial new old
[–] csm10495@sh.itjust.works 14 points 8 hours ago (1 children)

Through the magic of make, you can write code that changes if statements to while loops then changes it back after compilation passes or fails.

I only give good advice.

[–] marcos@lemmy.world 24 points 11 hours ago* (last edited 11 hours ago) (2 children)
int main() {
    useless:
    int x = 10;
    if (1) {
        goto useless;
    }
}
[–] Minizarbi@jlai.lu 2 points 1 hour ago

This is the real way!

[–] xmunk@sh.itjust.works 14 points 10 hours ago

Yea, I saw C style and was disappointed when it didn't abuse gotos.

[–] LeFrog@discuss.tchncs.de 20 points 12 hours ago (2 children)
[–] aMockTie@lemmy.world 32 points 12 hours 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 12 points 12 hours ago (3 children)

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

[–] aMockTie@lemmy.world 33 points 12 hours ago (2 children)

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

[–] ulterno@programming.dev 0 points 1 hour 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 4 points 10 hours 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 8 points 11 hours 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 12 hours ago

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

[–] Reil@beehaw.org 4 points 11 hours ago* (last edited 11 hours 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 2 hours ago

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.

[–] tamlyn@lemmy.zip 5 points 11 hours ago

i have a colleague always saying if loop (in our language). I'm a bit to shy to tell him his mistakes... People easily hate me but i would like to...

[–] TheReturnOfPEB@reddthat.com 7 points 14 hours ago

int* ihadatonepointforgottenaboutpoundefinesyoubastard {};