Discussion about this post

User's avatar
Kuha's avatar

This was simply a satisfying and stress-relieving read after being forced to develop a program in Python knowing that someone thinks the same. It was an absolute nightmare spending time debugging in Python.

Python is an absolutely horrifying language to build a proper program. It's like trying to build a house on top of a base that could collapse at any point. At first, it may seem that it doesn't take much effort to build the base for a program in Python, and it is. But, low-effort work only results in low-effort product. Languages such as Java, C/C++ or Rust definitely take more time for you to build the base, but it is extremely solid and can support your program over a much, much longer period of time.

And those languages definitely takes a lot more time for you to grasp a proper understanding. But once you do, you can see a solid and strong connection between everything. Python takes little to no time for you to understand it, but your understanding is rather lose. And that will only backfire when you build large programs as that lose understanding will only result in you barely being able to draw connections between anything, turning debugging into an absolute hellhole.

As a person who prefers to have a good understanding of whatever I'm doing and not just "it magically happens", I can never see the "improvement in efficiency" when developing in Python. I only see a 10 times decrease in efficiency compared to C++. Hell, even something such as JIT Javascript is more efficient than Python for me.

And then we have how incredibly slow Python is. And then you'll have to install a shit ton of libraries to make it better. And then you realize that's like installing hundreds of fan-made mods into a game and hoping that it won't crash.

Expand full comment
Johnxc's avatar

Very good article. I have been using python for almost 20 years now, and it still strikes me as a very amateurish language. Most of the 'defenders' of the languages are just that, amateur programmers whose expertise are in other areas, usually AI or data science. When it comes down to programming they have very little understanding of the issues in software engineering, particularly the most important part: maintenance.

There are many other issues also in python. In the days of python 2 actual good engineers were making third party frameworks to try to circumvent some of the most egregious limitations of the python vm. Then python 3 came and instead of incorporating those, python devs chose to add terrible features that are very bug prone and have terrible semantics. In the end, the language is not only bad, it is actively becoming worse.

Other problems include the obscure features, 'convenience' features for lazy devs which have very obscure under the hood functionalities. And these functionalities will of course come back to haunt you later when the program fails miserably, and debugging those arcane features become an endless journey through the interpreter source code.

Not to mention the dependency nightmare, a small package containing terabytes of dependencies, most of them written by people who should never be allowed anywhere near actual software development.

Expand full comment
39 more comments...

No posts