Python is the most popular programming language and beloved by many. However I can’t understand why (this is still the case in 2024).
Here are my main gripes with it:
- It is slow, performance intensive tasks have to be offloaded to other languages, which makes it complicated to analyse. Moreover I wonder how many kwH could have been saved if programms were written in more performant languages. (and there are better alternatives out there)
- The missing type system makes it easy to make errors, and the missing compiler makes it hard to catch them
- It has no linear algebra built in, so you always have to convert things to numpy arrays, which is quite annoying
- Managing virtual environments and pip packages feels overly complicated
I guess much comes down to personal, but I just can’t understand the love for python.
I mean others don’t seem to have the same problem with Python as me, so if it is right for them, I can’t really complain, but I would use the following languages for the following tasks
Scientific Computing (my main area): I prefer Julia, it is faster, feels more intuitive and feels like a modern python for scientific computing
Web: there are many great frameworks out there, i am intrigued by phoenix for elixir
Game Developement: Nobody use python in games to distribute for anything heavy I hope, but for scripting I would use Lua
Learning: Python is often the first language, that people learn, and I guess that also explains it’s widespread use to some degree. I would teach something less high-level like C as a first language, although I think writing “high-level code” also has a learning curve to it.
Scripting: Fine, I guess python is great for small scripts, although one could also use Ruby
lua imo is better for both learning and scripting, primarily due to being a very simple language