this post was submitted on 14 Jun 2023
32 points (88.1% liked)

Programmer Humor

19443 readers
34 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 1 year ago
MODERATORS
 

A women sent her kid that was into programming to the grocery store and told it:

"Please buy 1 bottle of milk if they have eggs buy 2"

The kid returned with just 2 bottles of milk. When it's mom ask why it bought 2 bottles of milk, the kid said:

"Because they had eggs"

... Was the kid right?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

For a serious reoly, I think the expression "If they have eggs, buy two" is redundant. If they didn't have eggs, the kid just can't and won't buy any eggs.

I think the proper command would be, "Please buy 1 bottle of milk and two eggs." That way, the kid won't be confused and it's still a proper valid command.

Unfortunately though, the sentence is ambiguous even to non-programmers. It is unknown whether the if condition applies to

  • buying two eggs (buy two eggs)
  • buying two bottles of milk (buy two bottles instead)
  • or buying a bottle of milk (buy another bottle)

Simply because they didn't specify which to buy.

For a non-serious reply,

cart.add(supermarket.takeProduct(ProductType.milk, 1));

if (supermarket.getProduct(type: ProductType.eggs).length > 0) {
    cart.add(supermarket.takeProduct(Product type.milk, 2));
}

cart.checkout();

The kid should have bought a total of 3 bottles.