Sunsetting Python 2
&quot;What will happen if I do not upgrade by January 1st, 2020?&quot;
&quot;You will lose chances to use good tools because they will only run on Python 3, you will slow down people who depend on you and work with you.&quot;<p>The tone in this document is excessive and over-the-top. If the author spent half the document demonstrating (with examples) why Python3 is so great, it might actually be useful and get people upgrading like right now as they&#x27;re reading it.  But instead, it seems the author simply wanted to convey how sick they are of Python 2.  The author does not appear to understand their users; that&#x27;s their <i>real</i> frustration.<p>In life outside of Python... The transition in C&#x2F;C++ from C++98 to C++11 and then C++20 (and beyond) has been quite clean and professional.  There were some glaring issues with C++11 that later got patched up (e.g. rvalues but no optional, no filesystem, make_unique, etc).  Most importantly, compiler support and standard distributions improved a lot.  There were often clear <i>incentives</i> to upgrade, and it was relatively easy to stick to an old standard where necessary.<p>In contrast, Python has become a bit fractured, with a number of notable well-discussed but unaddressed loose ends in Python3: <a href="http:&#x2F;&#x2F;pyfound.blogspot.com&#x2F;2019&#x2F;05&#x2F;amber-brown-batteries-included-but.html" rel="nofollow">http:&#x2F;&#x2F;pyfound.blogspot.com&#x2F;2019&#x2F;05&#x2F;amber-brown-batteries-in...</a><p>I think the Python community has failed to present strong enough incentives for upgrading to Python3, and that&#x27;s why users are sticking to Python2 and &#x27;slowing everybody down&#x27;.  The jump to C++11 was obviously needed: at the very least, `auto` saved much of your sanity and you no longer really needed to include Boost in your build.  But you could stick to an old standard if you wanted; you could even transition a codebase module-by-module in some cases.<p>The Python3 community seems to have been groping for a similar killer feature (e.g asyncio, as discussed in Amber Brown&#x27;s talk above), but the value-add isn&#x27;t so clear.  `six` is honestly a nice catalogue showing how many changes in Python3 are largely sentimental.<p>Perhaps the killer feature missing from Python3 is a flexible, built-in Python2 runtime.  Then maybe the transition would not have met such pushback.