I really just wonder what goes on in someones mind, when they sit in front of their computer, and instead of doing any of the million things that is possible to do on the internet, they decide to write another pointless language comparison article.
I wouldn't say Python is great either, but some of his criticisms are pretty poor.<p>Having multiple ways to do something (interpolating strings) isn't a bad thing. Usually the newish f strings are the easiest to use, but explicitly assigning variables via the format() function makes things more readable.Perl always had more than one way to do things.<p>Yes, nested list comprehensions are not readable, then don't use them. I have that as a personal rule.<p>I agree with him on Python ternary operator.
Most languages have "condition", "success", "failure" in that order. This has "success", "condition", "failure" which feels wrong and always takes me longer to parse in my head than it should.
May not be the best out there, but it's incredibly productive, and easy to read (IMO).<p>Because it's so damn productive, going back to more rigorous languages just doesn't feel as fun, I guess? Writing lengthy boilerplate just sucks out all enjoyment of coding, even though it might benefit your project in the long run.
Just reading this guy I can easily guess where he come from. Something like a newbie that started with typescript and frameworks and consider himself knowledgeable.<p>Sure python is not perfect, so I expected to see a few valid points for a rant.<p>But instead, I was surprised to see these really really poor arguments. For exemple, this guy does not look like to have read a basic tutorial, lesson of python that would have told him the difference between lists and iterator things like generators.<p>I guess he will have hard time to understand the difference between computing a list in full in one go full in memory and iterators that can be efficient and only require having a few items in memory.<p>In my opinion, where he is very wrong is that the proof that python is a great language is its incredibly big user base size that mostly didn't come from 'hype' (unlike other recent languages), but from world of mouth and convenience!
String formatting is indeed a mess, but that's a hind sight thing. Swift has a super nice system precisely because they are new and looked carefully at everyone else (I'm looking at you D who added string interpolation after swift but in a way that has all the problems of python).<p>But make no mistake: f-strings are NOT the same as .format()! One is compile time, the other is runtime. You can't localize f-strings.
Every time I consider switching to something else (eg rust) I remember that real world hacky tasks will take 10x as long.<p>eg working with Reddit api has a prebuilt python tool that can do a lot out of the box
As they say, good is the enemy of the great.<p>Here is a new released book for people coming to D from Python, "D, the Best Programming Language, for Former Python Developers"[1].<p>[1]<a href="https://leanpub.com/dforpython" rel="nofollow">https://leanpub.com/dforpython</a>
<a href="https://xkcd.com/1987/" rel="nofollow">https://xkcd.com/1987/</a>
This is the main reason I use Golang, apart from speed, clearer syntax and utf-8 baked into the core instead of an after thought.
Programming is hard enough, I don't need a rotten toolchain.
I only use Python when it’s something quick and dirty. It’s very rare that I use Python for anything production. I think it’s a neat language overall. All the work I did to learn ML was in Python, and so it’s been immensely valuable to me. But yeah — I don’t use it in production (and I haven’t done any ML in production).<p>I think maybe a couple years ago I had to ship some Python code because I needed to connect together some tasks into a workflow and Airflow seemed to let me get everything up, write tests, and instrument metrics to a monitoring solution I was using.<p>Last year I ended up doing a bunch of stuff with Spark. I hated dynamic typing in Python and my team agreed to go with Scala. Couldn’t be happier.<p>For example, Python was helpful for a script I wrote and left running on my MacBook to tell me when the PS5 dropped on Target. Ended up waking at 1AM PST to my phone ringing, opening up the Target app, and ordering the PS5. Picked it up the next morning.