But apart from being &quot;Internet compatible&quot;, it makes little sense to move from ascii only to utf-8. It only makes sense if you&#x27;re already trying to deal with stuff that doesn&#x27;t fit in ascii. Don&#x27;t get me wrong, I think ascii was a terrible hack (I seem to recall one of the designers called it his biggest mistake&#x2F;regret - and that they should&#x27;ve gone with some kind of prefix-encoding).<p>But the thing with unicode-everywhere is that it&#x27;s more beginner friendly: you can have unicode in your variable names, and strings without giving it another thought.<p><pre><code>    $ cat u.py 
    from __future__ import print_function
    å=&quot;æ&quot;
    print(å)
    $ python2 u.py 
      File &quot;u.py&quot;, line 2
    SyntaxError: Non-ASCII character &#x27;\xc3&#x27;
      in file u.py on line 2, but no
      encoding declared;
      see http:&#x2F;&#x2F;python.org&#x2F;dev&#x2F;peps&#x2F;pep-0263&#x2F;
      for details
    $ python3 u.py 
    æ
</code></pre>
Sure, the explanation of what&#x27;s wrong is right there in the
error-message, but it seems a bit of an unnecessary hurdle for people to
get around to write important programs, that ask you to type in your
name, and then prints out the name ten times ;-)