"Python does not cater to my favourite edge case" != fundamental problem<p>In the days before UTF-8-everywhere, file names with anything besides alphanumerics and safe symbols like dashes or underscores were always a problem. If you had special characters in your filenames, you were almost certain to run in to problems, since their meaning varied greatly depending on how the system was set up - codepages and whatnot.<p>But this is only a problem if you have such files, and unless you’ve kept files around for decades, you don’t. So young programmers can grow up never having problems with this. Everything will be UTF-8 and it’ll just work.<p>And as for broken old file names, who cares? Fix your file names and move on. There’s no reason that Python 3 should have workarounds for problems that were solved over a decade ago.
Just a rehash of<p><a href="https://changelog.complete.org/archives/10053-the-incredible-disaster-of-python-3" rel="nofollow">https://changelog.complete.org/archives/10053-the-incredible...</a><p><a href="https://news.ycombinator.com/item?id=21606416" rel="nofollow">https://news.ycombinator.com/item?id=21606416</a><p>Arguing that python3’s str model doesn’t work well with POSIX’s “any bag of bytes can be a filename” model. Plus new rants about surrogateescape which the author has learned since publishing the last article.<p>The author sure has a penchant for flamebait titles.
"into what is fundamentally a weakly-typed, dynamic language."<p>Nit: isn't Python generally considered to be strongly, dynamically typed?
The truth is that 99% of programmers can do everything they need to in ASCII and the other 1% are working on tools to handle Unicode itself. It’s a mistake and as soon as it goes the way of the <blink> tag the better. At least that tag was amusing for a short while...