Python is great, but it’s so forgiving that it’s easy to write garbage code if you’re not very proficient and don’t use the right tools with it.
The only objectively bad (major) thing against it is speed. Not that it matters much for most applications though, especially considering that most number crunching tasks will use libraries that have critical path written in a systems language:
numpy, pandas, polars, scikit-learn, pytorch, tf, spacy; all of them use another language to do the cpu intensive tasks, so it really doesn’t matter much that you’re using python at the surface.
Python is great, but it’s so forgiving that it’s easy to write garbage code if you’re not very proficient and don’t use the right tools with it.
The only objectively bad (major) thing against it is speed. Not that it matters much for most applications though, especially considering that most number crunching tasks will use libraries that have critical path written in a systems language:
numpy, pandas, polars, scikit-learn, pytorch, tf, spacy; all of them use another language to do the cpu intensive tasks, so it really doesn’t matter much that you’re using python at the surface.