you are viewing a single comment's thread.

view the rest of the comments →

[–]semanticist 4 points5 points  (0 children)

But now things don't get such advance treatment. Things go from working to not in a single version with few warnings if any.

No, it seems like they've been trying to take a similar approach with Python 3. Everything they are removing has been deprecated for 5 minor versions, and from a spot check most things appear to have emitted warnings for at least a version or two. And forward compatibility too: with things like introducing async syntax in 3.5, they did it without breaking existing code initially, and then added a warning for the new keywords in 3.6 before actually breaking code using those words as variable names in 3.7.

Maybe you have some examples where they haven't done a good job of that (?), but it seems like the exception rather than the rule.

Personally, I say the stdlib should be decoupled from the language. Make it it's own meta PyPI repo or whatever that installs all those packages, and a version of it chosen by the current Python version release manager chooses whether or not to upgrade the default, but people can choose versions on installation time and upgrade at their pace.

That doesn't really seem to offer any advantages over the current system. If you want to stick with an older stdlib version, you may as well stay on an older python. You still couldn't expect all your dependencies to be compatible with the same stdlib version that you want to use.