4 ms·
> Python 2 -> Python 3 had (has) source incompatibility, which is a nightmare to deal with, especially because the changes are of a nature that make it difficul
by dbaupp 13y ago
> Python 2 -> Python 3 had (has) source incompatibility, which is a nightmare to deal with, especially because the changes are of a nature that make it difficult to port code automatically and reliability. (Contrast with Go pre-1.0 -> Go 1.0, which had source incompatibility but an automated code transformation tool).
I guess you're aware of this, but Python has the 2to3 tool[1], which does a lot of transformations automatically. (Obviously not all of them, but it's good enough that it's the recommended way[2] to support Python 2 and 3 in one codebase.)
[1]: http://docs.python.org/3.3/library/2to3.html http://docs.python.org/3.3/library/2to3.html
[2]: http://python3porting.com/2to3.html#running-2to3-on-install http://python3porting.com/2to3.html#running-2to3-on-install
- piggybox 13y agoThat tool is good but the problem of Python 2 -> 3 wasn't just syntax incompatibility, but API changes that made many libraries hard to migrate until recent.