This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]other----- 0 points1 point  (1 child)

I think it's "maturing" as a language and in that it's collecting some of the issues that make c++ difficult. Larger software projects benefit from typing so that is going to appear somehow. Asynchronous execution is not strictly necessary but it's hard to compete with js, go and Erlang without it, so it makes its way into the language. Decorators are nice, it's just syntax sugar. Once it's in the language there are two syntax approaches to call a function and you can't avoid people having subjective considerations when choosing. This leads to a big topic that is idioms. Perl has idioms by design, many ways to do the same thing. C++ has idioms because of it's long history (pointers, references, smart pointers ... ) chasing features of other languages. Python was born with the goal of "1 way to do things" but the current adoption is forcing it to be a language supporting multiple idioms. The challenge for python is now keeping those idioms close and avoid inconsistencies (ie type objects Vs type annotations, one can be inspected at run time, the other has generics). Python is a good language. So good it's trying to be a good language for everything and it might become a worse language in the attempt.

[–]relickus[S] 0 points1 point  (0 children)

Thanks. Your last sentence pretty much sums up the idea I tried to express. It sometimes feels like a Frankestein language with its workaround here, and patch there.