3 ms·
Python is the worst programming language, except for all the others I tried (Fortran, C++, Java, Scala, Clojure, PHP, Ruby, Mathematica, IDL). But seriously, t
by amai 8y ago
Python is the worst programming language, except for all the others I tried (Fortran, C++, Java, Scala, Clojure, PHP, Ruby, Mathematica, IDL).
But seriously, the points raised by the author are valid. However despite this Python is still a pleasure to use. In addition the author fails to mention some newer things, which can help with some of the problems Python has:
1. Python Type annotations
https://docs.python.org/3/library/typing.html https://docs.python.org/3/library/typing.html
2. Please use the concurrent futures package for multithreading: https://docs.python.org/3/library/concurrent.futures.html https://docs.python.org/3/library/concurrent.futures.html
3. For distributed concurrency please use Dask: https://dask.pydata.org/ https://dask.pydata.org/
4. Please use pipenv for package management:
https://docs.pipenv.org/ https://docs.pipenv.org/
5. For performance, have you tried numba:
https://devblogs.nvidia.com/seven-things-numba/ https://devblogs.nvidia.com/seven-things-numba/
- ChrisRackauckas 8y agoUgh the Numba claims. It still has a high function call overhead from Python and is type restricted. I couldn't pass functions to SciPy ODE solvers without a 10x overhead of doing things directly in Julia and C++, so while a ton better than straight Python it was still bad. Also there are very few packages actually using Numba. It seems that more people like to talk about possibly using it than actually use it.