Using Python 2
Terry Reedy
tjreedy at udel.edu
Fri Sep 8 23:47:20 EDT 2017
On 9/8/2017 12:27 PM, Steve D'Aprano wrote:
> On Sat, 9 Sep 2017 12:23 am, Leam Hall wrote:
>> If Python 3 is not a total re-write then why break
>> compatibility?
>
> To avoid building up excess cruft in the language.
>
> To fix design mistakes which cannot be fixed without a backwards-incompatible
> change.
One of the semi-myths about 3.0 is that is was somehow unique in
breaking backward compatibility. Python has always (for last 2 decades,
anyway) has a procedure of deprecation and removal of old stuff. What
happened is that about 2.4, or whenever planning for 3.0 became serious,
removals were mostly delayed until 3.0. For instance, the original
proposal for changing 1/2 from being 0 to being .5 proposed doing it in
2.5. Instead it was delayed to 3.0. Without the prospect of 3.0, it
would have happened sooner.
One change during 2.x that was not delayed was the removal of string
exceptions.
So far during 3.x, at least a few modules have been deprecated and
scheduled to be removed. But when support for 2.7 was extended another
5 years, we decided to delay such removals until after 2.7 support ends,
in order to ease porting.
--
Terry Jan Reedy
More information about the Python-list
mailing list