Are the critiques in "All the things I hate about Python" valid?

MRAB python at mrabarnett.plus.com
Fri Feb 16 23:07:51 EST 2018


On 2018-02-17 03:22, boB Stepp wrote:
> This article is written by Nathan Murthy, a staff software engineer at
> Tesla.  The article is found at:
> https://medium.com/@natemurthy/all-the-things-i-hate-about-python-5c5ff5fda95e
> 
> Apparently he chose his article title as "click bait".  Apparently he
> does not really hate Python (So he says.).  His leader paragraph is:
> 
> "Python is viewed as a ubiquitous programming language; however, its
> design limits its potential as a reliable and high performance systems
> language. Unfortunately, not every developer is aware of its
> limitations."
> 
> 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.  I have neither the knowledge or boB-hours to write a large
> distributed system code base, but I am curious if Python is truly
> limited for doing these in the ways he claims.
> 
> BTW, I am not trying to start (another) heated, emotional thread.  You
> guys do sometimes get carried away!  I honestly just what to know the
> truth of the matters out of my continuing to learn Python.  I suspect
> there is probably some truth in his claims, but I am not sure if he is
> taking things out of their proper application contexts or not.
> 
He's making the assertions that:

     "dynamically typed" == "weakly typed"

and:

     "strongly typed" == "statically typed"

They aren't equivalences.

Python is both dynamically typed _and_ strongly typed.

And static type checking gets you only so far. If you've added when you 
should've subtracted, static type checking won't spot it.

Another point: a "wheel" is not a "source distribution" that requires a 
compiler, it can include a pre-compiled binary.

At least in the Conclusion he says "It is still a useful and powerful 
programming language when suited for its intended purposes."

Exactly.

It's not suited for realtime processing, etc, but, then, it was never 
intended for that anyway.



More information about the Python-list mailing list