3 ms·
Fair enough. You may be totally right here, as I mentioned I don't use Python much at all since like 2017 and haven't paid it much attention in a while. I retra
by eigenspace 2y ago
Fair enough. You may be totally right here, as I mentioned I don't use Python much at all since like 2017 and haven't paid it much attention in a while. I retract my comment.
Regarding breakage in 3.x, all I know is that I recall several times where I did a linux system update (rolling release), and that updated my Python to a newly released version which broke various things in my system. I'm pretty sure one of these was v3.10, but I forget which others caused me problems which I could only solve by pinning Python to an older release.
It's entirely possible though that no actual APIs were broken and that this was just accidentaly bugs in the release, or the packages were being naughty and relying on internals they shouldn't have relied on or something else.
- dagmx 2y agoTo your last point: it’s neither the language nor the packages but rather it’s the ABI. Python isn’t fully ABI stable (though it’s improved greatly) so you can’t just intermix compiled dependencies between different versions of Python. This is true for many packages in your distro as well.
- eigenspace 2y agoAh I see. Yeah, I guess I just think that for a language that's so dependent on FFI, instability in the ABI is defacto instability in the language as far as I'm concerned. But I understand that not everyone feels the same. Almost every major noteworthy Python package uses the ABI, so instability there is going to constantly be felt ecosystem wide.
- dbsmith83 2y agoThere have been many breaking changes throughout python 3.x releases: - standard library modules removed - zip error handling behaves differently - changes to collections module - new reserved keywords (async, await, etc.) You can argue how big of a deal it is or isn't, but there were definitely breakages that violate semantic versioning
- eigenspace 2y agoThey removed entire standard library modules? Wut.
- heisenzombie 2y agoYes, e.g. https://peps.python.org/pep-0594/ https://peps.python.org/pep-0594/
- maleldil 2y agoPython doesn't follow SemVer, that's why. https://peps.python.org/pep-2026/ https://peps.python.org/pep-2026/
- dbsmith83 2y agoClearly, which is what I was showing. A poor design decision imo