this post was submitted on 24 Mar 2024
787 points (98.6% liked)

Programmer Humor

19623 readers
1 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
 
you are viewing a single comment's thread
view the rest of the comments
[–] RagingRobot@lemmy.world 19 points 8 months ago (1 children)

I get your point about it being a trick question but I think in this case it's pretty reasonable that you would see code like this in real life. Where the programming metaphor and your understanding of the real world clash. It's a very important skill to be able to spot the difference.

[–] onlinepersona@programming.dev -5 points 8 months ago (1 children)

The compiler or interpreter does that for you. There's no point in these "gotcha's". They are cute brain teasers that belong on those useless "are you a programmer" quizzes you find on random meme websites, not an exam.

CC BY-NC-SA 4.0

[–] RagingRobot@lemmy.world 9 points 8 months ago* (last edited 8 months ago) (1 children)

In the error shown a compiler would be just fine and run as usual but the person programming it would be expecting a different result so a compiler wouldn't do this for you since it's a logical error and not a syntax error.

[–] onlinepersona@programming.dev -1 points 8 months ago

If it's a statically typed language and x is of type Date, it's for sure throw a type error when trying to assign a string to it. If it had autoboxing / auto type conversion from String to Date, length could return a number or a string.

If this were Javascript on NodeJS, it would fail at print(x) because that doesn't exist in JS. If it were Python it would fail at x.length because that has to be len(x). And so on.

If this were all to pass, at the latest at runtime, when the programmer sees the output "6", they would know something's up.

As I said, cute, but worthless test.

CC BY-NC-SA 4.0