@array I have a harsher opinion of Python than other people (as in I believe it is, and excuse my advanced Ancient Albanian Sign Language, dogshit). Python is lucky it can access C and Fortran because otherwise no one would use it in any scientific context. To rapid-fire the shit I hate about Python:
- The package names are so inconsistent (PyPy, PyPi, NumPy, SciPy, SymPy, PyGtk, Pyglet, PyGame, SQLAlchemy, BeautifulSoup...)
- It loves solving problems through syntax and badly-written abstractions instead of using the language itself
- Good luck making a program that doesn't make the PEP 8 linter trigger-happy
- You need different versions of pip for every Python version (go right now to your terminal and do ls /usr/bin/pip{2,3}* 2>/dev/null) and there are multiple conflicting version management solutions (pyenv, venv, poetry...)
- The package management is horrible (shit, it makes CPAN look like something God sent from the heavens)
- "Pythonic" code is meaningless and mostly means you copy obtuse shit from SO (you might as well copy Perl too)
- A lot of Pythoners seem to only know Python and are unwilling to learn everything else because for them everything is a nail
- The same people love to use non-standard nomenclature for shit already established in the CS community (they call arrays "lists", they call associative arrays/hashes "dictionaries" etc.)
- Wait until you play with quotes in Python
- You have to work hard to pass things by value (the most reliable method so far is a=copy.deepcopy(b) because not all objects have .copy())
- if you do something like gcc -o screencapture.exe screencapture.c -lscreencapture, GCC knows you want to import screencapture.h, but in Python if you do the same thing it wants to import the local code first (glhf if you have a screencapture.py file...)
- Even though the docs also accept tabs, PYTHONERS SCREAM AND WANT 4 SPACES!!!! Nothing else allowed.
This is as much as I can write in 2k chars.