@ccc Hi, interesting thank you for sharing it, but I keep wondering why it was necessary to create Python 3 instead of implementing all these new features (like "f-strings", "Pathlib", "Type hinting" and others listed in the site you shared) in Python 2 with a progressive numbering in its versions (for example: in Python 2.7.15 implemented "f-strings", in Python 2.7.16 implemented "Pathlib" and "Type hinting", and so on...).
I suppose that all the new features in Python 3 could be implemented also in Python 2 if Python 2 had the same low level features of Python 3. I mean: if "f-strings", to work properly, needs some new low level features implemented only in Python 3 core, why not implement this low level feature also in Python 2 in order to have a Python 2 capable to use "f-strings" and also the "old" format?
In this way no need to completely change a full programming language and no problems when people want to run with Python some python 2 or 3 scripts or entire libraries. Python users could have had a single Python distribution, updated progressively, with all the new features that we find only in Python 3.
With the hypothetical single Python distribution, user could execute directly, for example, a script where somewhere in the source there are some pieces of code that use "f-strings" and somewhere else other pieces of code that use the standard format version, without problems (the interpreter of the single Python distribution would be able to interpret/understand, in the same source script/library, the code with "f-strings" and the code with format without syntax errors).
Thank you for sharing
Bye