module dependencies issues

Marko Rauhamaa marko at pacujo.net
Fri Jul 10 02:04:57 CEST 2015


Chris Angelico <rosuav at gmail.com>:

> Your descriptions conflict. A safe binary replacement usually cannot
> even add new features, in case this breaks something.

Linus Torvalds is adamant about maintaining ABI compatibility across
Linux versions. That hasn't prevented him from accepting numerous new
system calls. New functions in C libraries do not cause runtime
breakage.

> Consider what happens when Python creates a new keyword; it's a new
> feature, old functionality hasn't been broken, but if that word had
> been used anywhere as an identifier, it's now broken.

You are right about adding keywords; they break backward-compatibility
(except in Perl, where keywords and names are in different namespaces,
or Scheme, which doesn't have keywords).

> There is NO CHANGE which is perfectly backward-compatible.

That statement is untrue in theory, and even more untrue in practice.


Marko


More information about the Python-list mailing list