I don’t like indentation affecting which block code belongs to, its poor type safety (with type hints being a minor band-aid), awful multithreading capabilities (being able to disable the GIL now helps but introduces its own issues), and multiple design decisions which, although make Python flexible and dynamic, make it hard to optimize running Python code and so all the performant libraries are written in something else like C and then you’re stuck having that as a dependency.
I don’t like indentation affecting which block code belongs to, its poor type safety (with type hints being a minor band-aid), awful multithreading capabilities (being able to disable the GIL now helps but introduces its own issues), and multiple design decisions which, although make Python flexible and dynamic, make it hard to optimize running Python code and so all the performant libraries are written in something else like C and then you’re stuck having that as a dependency.