boB Stepp <robertvst...@gmail.com> writes: > https://medium.com/@natemurthy/all-the-things-i-hate-about-python-5c5ff5fda95e
> As I currently do not have the necessary technical knowledge to > properly evaluate his claims, I thought I would ask those of you who > do. Thank you for asking. The author makes many mistakes. He blithely conflates “weakly typed” (Python objects are not weakly, but very strongly typed) with “dynamically typed” (yes, Python's name binding is dynamically typed). Those are two, orthognal dimensions to describe a language. All the assertions about “strongly typed” should instead be read as “statically typed”. I do not think the author understands the differences, nor the trade-offs involved, in the weak–strong dimension nor the static–dynamic dimension. The author conflates the Python language, which has many different implementations and interpreters on very different technologies, with one particular implementation (CPython). Python does not have fast or strong performance; the performance is entirely a property of a specific implementation. All the arguments about performance should be read as criticisms of whatever implementation the author is using. He doesn't say which, so we can't know how justified those complaints are. A strong hint is in the complaint about the Global Interpreter Lock. This is a property of only one implementation: the CPython implementation. It is a known limitation and many people have worked for many years to ameliorate it; it is unclear whether the author knows of anything done in recent years (the only specific information cited is for 2012; a reminder, that's *six years ago*, a aeon in platform development). The author also uses very old information when complaining about Python 2 versus Python 3. The citation of grave fears is to a 2014 article. The author shows no signs of awareness that the Python 3 ecosystem is very healthy today compared to Python 2. The complaint about abstractions makes another silly conflation; the author seems to think any language that does object-orientation differently from Java, is obviously wrong. The author may benefit from reading <URL:http://dirtsimple.org/2004/12/python-is-not-java.html> (advice which is no less relevant than in 2004). But maybe not. The complaint about Python's build system and packaging tools is accurate enough, though pretty parochial (the author has a strong bias to existing Fortran packages). The Python build and packaging ecosystem has been improving steadily for many years now, but yes, it still needs a lot of improvement. The author acknowledges in the conclusion that “nothing I’ve said is new”. I would argue that most of what is said is not even true; the article should not be referenced at all, IMO. -- \ “We jealously reserve the right to be mistaken in our view of | `\ what exists, given that theories often change under pressure | _o__) from further investigation.” —Thomas W. Clark, 2009 | Ben Finney -- https://mail.python.org/mailman/listinfo/python-list