this post was submitted on 13 Jan 2026
84 points (88.9% liked)
Programmer Humor
28409 readers
1554 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
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I've never liked this joke. I guess it's supposed to be that the husband does the literal action as described, but instead it's just that they interpreted ambiguity opposite than expected? It just really doesn't work very well :/
The joke is bad because the husband is supposed to bring seven gallons of milk. Since the egg condition is checked after he already got one.
No no, the imperative "get six" overrides the previous "buy a gallon of milk" if the "they have eggs" condition is met.
"get six" implies
x === 6notx = x + 6, that would be "get six more"The real problem is that "buy" was only specified in the first case. Because the conditional was met, he should get six gallons of milk but not buy them.
Now just how did he procure the rest of the 5, is a mystery.
Omg, youβre so right. I didnβt read it that way until you pointed that out.
Given the stereotypical difficulty of "product folks" and programmers agreeing on and building shared understanding of what to build, this joke seems clear and straightforward. It works because of course, the customer and the programmer failed to agree on something simple.
That is why we have spec docs, duh. /s
I'm pretty sure I've heard effectively the same core joke but better composed. Can't remember it though because at best it's middling funny.
Maybe it's just worse when written. The period at the end of the sentence makes it hard to see how it could be misunderstood.
To your point though, not sure if I'm aware of any programming language that would continue a statement with a following if block. Far more likely that it would fail due to lack of an element to apply the 6 to rather than having a pointer to the previous object, or he would try getting what ever the literal version of a 6 would be, or maybe some slang version.
Python, though the logic would be backwards: