&gt;  As a former Perl user, and a current Python user (though less lately), I very much prefer the Python transition.<p>So should anyone, as it changes only minimal sections of the language. It may remove warts, but in my eyes it re-adds many. I never had typing issues with dictionary keys being strings vs ints in Python 2. I do however have to suffer from that in Python 3.<p>The fact is, Python 3 barely fixes &#x2F;any&#x2F; of the fundamental problems with Python 2. After writing a little Go and coming back to Python i couldn&#x27;t believe how little static checking there is, for example.<p>Another example for you, I have functions which take named parameters, but one of those named parameters I need to be a list.<p>If it&#x27;s not a list, python&#x27;s &#x27;for x in y&#x27; will split the string and provide a character based loop. If it is a loop it will split based on loop elements.<p>This means that I have to have a bunch of isinstance checks wrapped around things and provides <i>no safety whatsoever</i> as I would have to exclude all types other than arrays to even begin to have any rigor.<p>I don&#x27;t think Python 2 or 3 is a bad language, but 3 fixed only some of the most superficial issues with 2 and still the transition is ongoing after <i></i>8<i></i> years. You&#x27;re glossing over how much of a mess it&#x27;s been and how much it will continue to be.