[Python-Dev] PEP 4000 to explicitly declare we won't be doing a Py3k style compatibility break again? (original) (raw)

"Martin v. Löwis" martin at v.loewis.de
Thu Aug 21 14:40:48 CEST 2014


Am 18.08.14 08:45, schrieb Nick Coghlan:

It's certainly the one that has caused the most churn in CPython and the standard library - the ripples still haven't entirely settled on that front :)

For people porting their libraries and applications, the challenge is often even bigger: they need to learn a new programming concept. For many developers, it is a novel idea that character strings are not just bytes. A similar split is in the number types (integers vs. floats), but most developers have learned the distinction when they learned programming. That a text file is not a file that contains text (but bytes interpreted as text) is surprising. In addition, you also have to learn a lot of facts (what is the ASCII encoding, what is the iso-8859-1 encoding, what is UTF-8 (and how does it differ from Unicode)).

When you have all that understood, you then run into the design choices to be made for your software.

I think Guido's right that there's also a "death of a thousand cuts" aspect for large existing code bases, though, especially those that are lacking comprehensive test suites.

I think the second big challenge is "my dependencies are not ported to Python 3". There is little you can do about it, short of porting the dependencies yourself (fortunately, Python and most of its libraries are free software).

Regards, Martin



More information about the Python-Dev mailing list