It is a language with a lot of history and glue in place to keep it “modern”. I do agree that it is possible to write good software in Python, but most of the open source stuff is total shite.
Lets be honest: golang, C++ and rust are not THAT difficult to learn. About the JVM based languages: they should have moved away from the monolythical memory management long ago.
Edit: AI/ML purposes excempted, as they are more script like approaches. I still wonder why Python has grown to be the grandchild of AI though.
I started with fortran 77. C++ is very simple in comparison.
That said, the reason we use python is the ML/AI ecosystem. We do create proper libraries, backend applications, proper type annotations, CI/CD, API, docker and kubernetes. Real software. But the heavy lifting job is done by libraries that have python as main interface.
With python one can produce good code and products, but code reviews and guidelines are extremely important. Too many ways to do the same thing, too many styles, too many people that believe they can code, and too many people that simply don’t accept that python is not java or c#.
Proper type annotations are possible in Python, but its more the excemption than the rule.
What I encounter in Python world are dicts, dicts and more dicts.
Edit: i’ve encountered some developers stepping up from Python to kotlin and Java and making a total mess of things. I agree that it is possible to write structured Python code but 80% of developers are never going to surpass the “scripting” level.
It is a language with a lot of history and glue in place to keep it “modern”. I do agree that it is possible to write good software in Python, but most of the open source stuff is total shite.
Lets be honest: golang, C++ and rust are not THAT difficult to learn. About the JVM based languages: they should have moved away from the monolythical memory management long ago.
Edit: AI/ML purposes excempted, as they are more script like approaches. I still wonder why Python has grown to be the grandchild of AI though.
I started with fortran 77. C++ is very simple in comparison.
That said, the reason we use python is the ML/AI ecosystem. We do create proper libraries, backend applications, proper type annotations, CI/CD, API, docker and kubernetes. Real software. But the heavy lifting job is done by libraries that have python as main interface.
With python one can produce good code and products, but code reviews and guidelines are extremely important. Too many ways to do the same thing, too many styles, too many people that believe they can code, and too many people that simply don’t accept that python is not java or c#.
Proper type annotations are possible in Python, but its more the excemption than the rule.
What I encounter in Python world are dicts, dicts and more dicts.
Edit: i’ve encountered some developers stepping up from Python to kotlin and Java and making a total mess of things. I agree that it is possible to write structured Python code but 80% of developers are never going to surpass the “scripting” level.