All the things I hate about Python
medium.com
All the things I hate about Python
1–8 of 8 posts
Re: All the things I hate about Python
#2Re: All the things I hate about Python
#3As far as dynamic typing: for every unfortunate runtime surprise that dynamic typing can give you, I can find a multi-page compiler error in a statically-typed language that was frustratingly finicky about type precision. Neither is a clear win; yet I really like how dynamic systems naturally encourage good test infrastructures. Also, use linters.
The Python 2/3 divide is real though. I guess we’re still better off than Perl (6.x seems pretty unused).
Re: All the things I hate about Python
#4 The fact that I cannot, in the absence of perfect test
coverage, verify the correctness of someone’s code is a
big red flag.
Pssst... you can't do this with any type system. You might be able to come close with some of the fancier dependent-typing stuff, but at some point a "sufficiently-specific type specification" starts looking an awful lot like a QuickCheck-style test.Re: All the things I hate about Python
#5The author does not understand the difference between weak vs strong typing and dynamic vs static typing.
Indeed, the author does not know that Python is strongly typed. Most of the article is nonsense.
If you're running the same code on different machines or virtual machines and one fails, the first thing you check is the version numbers of the runtime and libraries. This is true in any language.
Re: All the things I hate about Python
#6Re: All the things I hate about Python
#7I dislike examples of a concept when the made-up code is not properly using the language. You don’t write is_valid() calls in Python: you “try:” things that may fail. As far as dynamic typing: for every unfortunate runtime surprise that dynamic typing can give you, I can find a multi-page compiler error in a statically-typed language that was frustratingly finicky about type precision. Neither is a clear win; yet I r…