this post was submitted on 11 Nov 2025
556 points (97.4% liked)

Programmer Humor

27322 readers
2231 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
[–] ryannathans@aussie.zone 16 points 3 days ago (1 children)

Recursion isn't the same as as infinite loop

[–] embed_me@programming.dev 12 points 3 days ago (2 children)

I don't get your point. Just because the image gets repeated in the 4th panel doesn't mean its recursion. It can be an infinite while loop with a state.

Now that I think about it, a recursion without a base/break condition is just an infinite loop with a state

[–] entwine@programming.dev 5 points 2 days ago (1 children)

Ackshually, the meme is encoded using progressively smaller images nested into the fourth panel of the comic. Each fourth panel is effectively a nested function call to the original comic procedure, which more closely represents recursion than an infinite loop.

For an infinite loop, one might instead lay out the 3 unique panels horizontally, and just memcpy them into rows below, creating a table. That's a regression in humor, but it'd fix the bug.

So I agree with @ryannathans@aussie.zone's review; The joke is about infinite loops, but the visual gag is about recursion.

[–] orbitz@lemmy.ca 2 points 2 days ago

Lol that's exactly how I saw it as well. Recursive gets those nesting dolls look in my head, loops are the same size but repeated, even if infinite. Yes even if the code is almost the same since you can write a loop recursively anyways (okay haven't tested but seems like it'd work mostly fine but not always as clean).

I think the beauty of it is that the joke can be amusing in multiple ways. Those are the best jokes to me, cause I can think of different ways the next time I see them.

[–] AllHailTheSheep@sh.itjust.works 3 points 3 days ago* (last edited 3 days ago) (2 children)

I think modern compilers do actually compile recursion to be equivalent with an iterative model.

edit: yes when possible they will compile to be iterative, but if it can't be written iteratively it will be a series of calls and returns. depends on the specific type of recursion it looks like.

[–] Buddahriffic@lemmy.world 3 points 3 days ago

At one point I developed a habit of converting any recursive algorithm I was writing into a loop instead, since I knew function calls have overhead and all recursion really does is lets you use the calling stack and flow control as an invisible data structure.

Then I got a question about parsing brackets properly during an interview and wrote a loop-based parser to solve it and the guy had to fish for a bit before I remembered recursion and realized that's the answer he was looking for. My mind just wouldn't consider using a whole calling stack when an integer would do the trick faster.

[–] ryannathans@aussie.zone 2 points 3 days ago* (last edited 3 days ago)

I think you're talking about tail recursion

https://en.wikipedia.org/wiki/Tail_call (see section on equivalence to while statement)

Not the standard case where the stack grows