I'm nearly finished porting a decently size application from Python
2 to Python 3. It has been a lot of work. I am dubious as to
whether the port was really the best use of time. I can imagine
there is still millions, possibly billions of lines of Python 2 code
that has not yet been converted. Further, my guess is the lines of
Python 2 code are still growing faster than the lines of Python 3
compatible code. IMHO, we need to do better in making it easier for
people to port code.
Here is a thought that occured to me. Create a patched version of
Python 3.x, making a stepping stone version for people porting from
Python 2. I know this would have been useful for me. Specific
changes that would be helpful, all generating warnings so code can
be eventually fixed:
- comparision with None, smaller than all other types
- comparision of distinct types: use Python 2 behavior (i.e. order
by type name)
- mixing of unicode strings with byte strings: decode/encode
using latin-1