Mercurial’s journey to and reflections on Python 3
I understand author's reasoning in the context of a transition, but as a "non-Latin" language user, defaulting str to unicode literals is the best change in Python 3. Coming from C#, I never get used to Python 2's approach. It's a pain in the ass working with non-Latin characters in Py2 starting from simply output in console, especially on Windows.<p>>assuming the world is Unicode is flat out wrong<p>True, but Py2's approach makes lots of developers assume the world is Latin-1. I see <i>way</i> too many examples of things broken on a Chinese locale environment, including Python's official IDLE ([1]).<p>[1] <a href="https://bugs.python.org/issue15809" rel="nofollow">https://bugs.python.org/issue15809</a>
(Summary of this bug: in 2.x IDLE, an explicit unicode literal used to still be encoded using system's ANSI encoding instead of, well, unicode.)