"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.""