Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

major changes with breaking backward compatibility would require a major bump. Fine for python 4 I would say.


Sure I guess? But we've just barely stopped talking about Python3, and that was released 13-16 years ago[1]. Is _this_ change worth another decade of thrashing the ecosystem? Is __any__ change?

[1]: depending on if we count 3.0 vs 3.2 when it was actually kinda usable.


Again, python does not use semantic versioning. 3.12 and 3.13 are different major versions. The deprecation policy is documented and public. https://peps.python.org/pep-0387/.


TIL.

In the doc you linked, they reference "major" and "minor" versions. So they claim to have some concept of version numbers having different significance... Why don't they adhere to semantic versioning if they dress their version numbers like that?

At least Linux just admits their X.Y scheme means nothing.


Why, it just should be opt-in:

  from __future__ import no_bare_except
...and enjoy.


Python should have the ability to set per-module flags for these kinds of incompatibilities.

I guess that __future__ is doing something similar, but I am thinking of something like declaring how options should be set for your module and then only the code in that module is affected. (It would be nice being able to set constraints on what options your dependencies can enable)

I guess that for std functionality this is impossible (like if the dict changed its key sorting it might be too hard to dispatch on the original file) but for syntax it should be perfectly possible.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: