Hacker News new | ask | show | jobs
by actuallyalys 1401 days ago
> As for strong/weak, I think it's a bit more fluid because I can't seem to find a set definition that everyone agrees on.

Yes, I've been looking into this lately, and the terms are messy. People tend to use strong to mean "strict in ways I like" and weak to mean "permissive in ways I don't like."

Division is a good example of this ambiguity. It always results in a float, so if you divide two integers, even ones that are evenly divisible, you get a float, so that's kind of a conversion, right? But on the other hand, I don't think a function that was defined as taking two integers and returning a float would be considered an implicit conversion, even if it were overloaded to also accept various combinations of float and integer.

Gary Bernhardt has a good discussion: https://www.destroyallsoftware.com/compendium/types?share_ke...