12
Protocols in Python
(til.simonwillison.net)
Welcome to the Python community on the programming.dev Lemmy instance!
Past
November 2023
October 2023
July 2023
August 2023
September 2023
Python provides flexibility. You want to use it for fast experiments in a jupiter notebook? Skip types. You're doing a months long backend project? Add types, either through implicit types (protocols) or explicit types.
I don't see how flexibility is a bad thing. Don't want it? Don't use it. You can still use it in the simple way, like 30 years ago, it's just providing more options to be used in different contexts.
Considering Python is almost as old as C++, I would say that Python has done a much better job at incorporating new features in a sound architectural way compared to C++, while keeping new features at the same complexity level as the older ones. Or compared to javascript, which let a spinoff language emerge (something that Van Rossum very much wanted to avoid with mypy) and drive it towards adopting some features that were being asked for years (ie classes in ES6)