[Python-Dev] The bytes type

James Y Knight foom at fuhm.net
Tue Jan 16 19:52:12 CET 2007


On Jan 16, 2007, at 12:06 PM, Phillip J. Eby wrote:
> At 07:47 AM 1/16/2007 -0800, Guido van Rossum wrote:
>> I'm not keen on compromises in 3.0, but without specific proposals I
>> don't see why we're arguing. So, please, what specific thing(s) are
>> you proposing we do in 3.0? Please make a list of specifics rather
>> than attempting at specifying a general rule to match things that
>> could go into the list; you've tried the latter and I still don't  
>> know
>> what you want.
>
> I think what he's saying boils down to two things:
>
> * Don't remove any feature for which an alternative doesn't already  
> exist in 2.5

Yes, this is it. As a refinement: if the New Way can easily be  
backported to 2.5, that's somewhat acceptable as well (but not *as*  
good, as it requires everyone wanting to write the portable code to  
include the backport or depend on an external package providing it).

> * Don't change APIs (e.g. items())

No: changing APIs is fine just so long as the API being changed can  
already be replaced by something better. E.g. changing d.items() is  
fine with me: it's trivially replaced in 2.5 with list(d.iteritems 
()). But changing/removing d.iteritems() is not okay, as it's not  
easily replaced by anything that will work well in both versions.

> Now, I'm not sure these goals are achievable with respect to 2.5.   
> I think we'd be better off adding compatibility features in 2.6.

I don't like the proposals to only have the ability to be compatible  
with 2.6, because that significantly delays the ability to port to  
3.0. If it's possible to be compatible between 2.5/3.0, I can start  
doing the work porting to 3.0 soon after it comes out, even while  
remaining compatible with a widely-deployed version of python. If the  
compatibility only works with 2.6/3.0, it will be another 2-3 years  
after 2.6 comes out before it's widely deployed enough to require it  
and thus that much longer before porting can start.

Really I'm interested in 2.4/3.0 portability, but I quite expect that  
if I can get 2.5/3.0, I can easily enough deal with the changes  
between 2.4/2.5 myself, so I'm not going to bother python-dev about  
that. :)


James


More information about the Python-Dev mailing list