"Developers hate it when a new version of a language doesn't work
with the code written for older versions of that language, but for van
Rossum, the radical upgrade was necessary. The language was becoming
ever more weighed down by multiple ways of doing the same task, and
ways of doing tasks no one ever actually did.
""The motivation for 3.0 was to have one specific event where we did as
much of the backward incompatibility all at once," van Rossum says. The
idea is to "give the language a better foundation for going forward.""