Don’t take me wrong, I use Python in most of my projects and Python is my most loved language. But sometimes it still drives me crazy... Some of the things that I’d love to see major changes in Python:
import system: import cycle happens to all Python devs I know and until now there’s still no solution or even an official way to organize modules to avoid this problem.
pip/pipenv/pip-tools/setup.py/... : a Python developer doesn’t need to worry about which tool works best for managing dependencies, there should be only one official way to do it.
So what is the thing that bothers you the most in Python?
Top comments (11)
I feel you on the import system.
I'm also not a fan of all times you gotta write
self
it's just clutterI would much rather have to type the same variable name multiple times in a method than deal with a magic keyword with complex binding rules like you need to do in JS.
The thing I don't like is that since it's interpreted you must run your code to check for bugs that could be found by a compiler. Making the need for unit tests even more important. IDE's help a lot also on this issue.
I think there are both pros and cons for interpreter languages. Main advantage is fast experimentation as there’s no need to compile the code before. The cons, like you said, is the check is quite minimal...
I would have loved it if Python supported static typing.
Would love to see that coming too!
I dislike all the "spooky action at a distance" that happens in python. Stuff like all the special variables like name. It makes learning the language unintuitive at times.
The lack of a standard library deep getter function / optional chaining operator bugs me a fair bit.
Can you elaborate more on this please?
for example:
in python there isn't really an elegant built-in way to handle getting nested dictionary values that might not exist.
i.e. my_dict['key1']['key2']['key3']
I am surprised that Python lacks a "switch case" statement. Import cycles have never affected me... somehow.