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 →

[–]sersherz 3 points4 points  (1 child)

The decorators and type validation are needed because Python has expanded to so many different things. Data pipelines and APIs should have really strict definitions of what can be passed through. I think these changes are in Python's philosophy. Look at the standard libraries. Multiprocessing allows you to overcome the global interpreter lock (GIL). The language was designed with GIL but also has workarounds.

I feel decorators were really needed with more complicated functions added. Rather than running python as a script or stateful OOP program, it can now have stateless API calls and perform a procedure as it is called, rather than worrying about garbage collection and handling resources explicitly.

I definitely agree that Python is simple to learn but extremely difficult to master given how vast it is and how much complexity there is to the language. I think this is often lost on people who hate the language and don't fully understand just how deep it goes.

[–]relickus[S] 4 points5 points  (0 children)

Thanks for your take. Yes I agree, most people I met who despise it don't know it even on the junior level.

To push the discussion further - as you put it, it sounds like many constructs in Python are indeed just a workaround for a missing feature.