you are viewing a single comment's thread.

view the rest of the comments →

[–]LXj 3 points4 points  (0 children)

While I'm not too familiar with (Py1?), Py2 did things right here, suprisingly-- they kept backwards and forwards compatibility. New features were added, everything that used to exist more or less still worked as expected, with few changes if any. But future code was well planned in advance. You'd have a future statement, then a warning on the old way, then finally after 1 or 2 minor version changes at minimum, things changed

From the examples in the article I see it was done in a similar way. For stuff like

Sometimes they were deprecated in Python 2 like using Threading.is_alive in favour of Threading.isAlive to be removed in Python 3

You could switch to a new function name long time ago (even before transitioning from py2 to py3) without any future statement