Why Python 4.0 won't be like Python 3.0

Steven D'Aprano steve+comp.lang.python at pearwood.info
Mon Aug 18 20:25:37 EDT 2014


Grant Edwards wrote:

> On 2014-08-18, Ethan Furman <ethan at stoneleaf.us> wrote:
>> On 08/18/2014 07:51 AM, Grant Edwards wrote:
>>>
>>> To all of us out here in user-land a change in the first value in the
>>> version tuple means breakage and incompatibilities. And when the
>>> second value is "0", you avoid it until some other sucker has found
>>> the bugs and a few more minor releases have come out.
>>
>> Even our own 3.0 was like that.
> 
> So was 2.0, only it wasn't quite as distruptive as 3.0.

How was it disruptive? It was as backward compatible to 1.5 as any point
release can be expected to be. There were syntax changes, but they added
new syntax, and didn't take anything away.

In my opinion, 2.6 was a bigger change than 2.0 from the perspective of
backwards compatibility. 2.6 finally made raising from strings an error.

# 2.4
py> raise "hello"
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
hello

# 2.6
py> raise "hello"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: exceptions must be old-style classes or derived from
BaseException, not str

(I make no comment about the quality of 2.0 versus 2.0.1 :-)



-- 
Steven




More information about the Python-list mailing list