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.
It’s not enforced because python like a number of other languages isn’t a strictly typed language. That decision was made by the creator of python and has been continued to this day, it wasn’t a part of their vision for python.
I would suggest you consider using a different language since you obviously don’t care for python based on that complaints you’ve used that mirror complaints from every other person who “just doesn’t see the use of python”.
Protip: I’m willing to bet that if your code is slow, it needs some refactoring. That or you could consider compiling your python into C code.
Python is strongly typed, but dynamically checked. Working with other languages I just found, that the type errors in python are the hardest to catch and to debug, but maybe I am just more used to othet languages
I see it’s use as language to write small scripts, I just don’t see much use besides that.
Here is a article talking about the speed of compiled python vs Julia. I don’t see why it is better to go to all these extra steps just to end up with something slower. https://www.matecdev.com/posts/julia-python-numba-cython.html
But I took your advice to heart and installed a Linter
I’d recommend a code formatter as well, it won’t improve code execution but it greatly improves readability which is a massive plus to me. I love black personally