731
JavaScript
(sh.itjust.works)
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.
This is why I try my damnedest not to write in weakly typed languages.
string
+object
makes no logical sense, but the language will be like "'no biggie, you probably meant string + string so let's convert the object to string"! And so all hell breaks loose when the language's assumption is wrong.Some automatic conversion is fine.
a=3+0.2
print("Hello {name}. You are {age} years old")
That kind of thing. But the principle of least surprise definitely applies. If you get to the point where you're adding two booleans and a string, I feel like the language should at least say something. At least until the technology exists for it to physically reach out of your screen and slap you.
You don't necessarily need types for that kind of thing though, a strict linter that flags that code works just as well