Hacker News new | ask | show | jobs
by dagmx 598 days ago
To 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.

2 comments

There 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

Python doesn't follow SemVer, that's why.

https://peps.python.org/pep-2026/

Clearly, which is what I was showing. A poor design decision imo
They removed entire standard library modules? Wut.
Ah 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.