It's Not Perfect, but I Still Love Python
I recently I made this statement on Twitter: "As more stuff gets haphazardly bolted onto the side of python3, I'm considering a heavy time investment in some other programming language." and it spiraled in ways I didn't intend for it to because I was mostly just venting, but alas ... I tweeted while angry and I now get to live with it. So let's talk about it.
I want to start this off by stating two things:
- There is no such thing as a perfect programming language.
- I love programming in python. The language is elegant, the community is wonderfully friendly, and the ecosystem is vibrant.
Alright, now that we've set some perspective let's go for a walk...
It's Not Perfect
There are some wonderful examples out there of why Python is not perfect and ultimately why we look post those imperfectsions. One of my favorites quickly comes to mind: Yes, Python is Slow, and I Don't Care by Nick Humrich.
It seems as though Python has taken a approach similar to `node.js`_ in the way they've implemented Let's quickly take a look at an example of how coroutines are implemented in Python via asyncio vs how Go implements them using goroutines.
I Still Love Python
Even though I don't like certain things, Python is still by far my favorite language and I will continue to double down on it time and time again until I'm thoroughly convinced that I shouldn't (this has not yet come close to happening).
The Python community has always been welcoming, the core developers put a lot of thought into what they do and there's a considerable amount of collaborative peer-review as enhancements make it through the PEP process. As such, it would be unfair to harshly criticise the decisions that have been made without knowing the full history that went into the conclusions that were reached.
Until next time...