So Python 2 did not have super obvious string handling.  One of the odd things that they seemingly could have fixed pretty easily is to change the default encoding from &#x27;ascii&#x27; to &#x27;utf8&#x27;.  That would have fixed a bunch of the UnicodeDecodeErrors that were the most obvious problem with strings: <a href="http:&#x2F;&#x2F;www.ianbicking.org&#x2F;illusive-setdefaultencoding.html" rel="nofollow">http:&#x2F;&#x2F;www.ianbicking.org&#x2F;illusive-setdefaultencoding.html</a><p>If they had to make Python 3 anyway, I think the main thing they were missing is that they should have added a JIT.  That makes upgrading to Python 3 a much easier argument.  If the only point of the JIT was to add a selling point to Python 3, that probably would have been worth it.