3 ms·
What I've found in discussing these topics with some colleagues are that the terms "strong typing" and "weak typing" are so vague that almost everyone has a dif
by chadaustin 11y ago
What I've found in discussing these topics with some colleagues are that the terms "strong typing" and "weak typing" are so vague that almost everyone has a different definition.
The academic literature uses types to mean checked at compile-time, and tags to mean checked at runtime. Python, calls them types but checks at runtime. I think the fuzzy terminology can work as long as we all declare in advance what we mean. :)
In general, I agree with your points. Where strong type systems start to help a lot is when you have super-complicated data flows and invariants, where many different types might actually have the same representation (say, a 32-bit integer or small string), but only some operations are valid on some types. That stuff gets tricky in Python, even if you implement a unique class per type.