Wednesday, February 20, 2008

Py3K

Py3k + IDLE, checked out via svn, running on Ubuntu
Py3K was in some ways named in spoof of Y2K, which sounded dated as soon as it was over. Python 3000, on the other hand, would at least stay in the headlights a lot longer.

But in practice, the jump alluded to is not measured in solar years. Instead, it's a break point in the Python language's development, accomplished with a lot of smooth maneuvers, including a 2to3 converter (runnable in 2.5).

Yes, I see why apply was taken out. Instead of going apply(f,(1,2)) we just go f (*(1,2)) i.e. the asterisk unpacks the contents, makes 'em two arguments.

And no, and I won't miss reduce either, and so far no sign little lambda is going away (I bet Mary is really happy about that).

We're going to think in a more organized way about bytes and strings, by making these the two principal encoding types. In string world, we default to Unicode, but that's really a complicated standard, so utf-8 is more like it (not complaining -- as a user of Latin-1, I'm already privileged).

Making print a function: yeah, seems like the right idea. Guido is good at this stuff. I'll reserve comment on some of the more esoteric innovations, until some more opportune time.

Were I to start teaching new Pythoneers tomorrow, I'd stay with production 2.5.x, as learning core Python means learning core concepts, and these only get reinforced, not abandoned, i.e. one's comfort level only increases with future versions. In other words, learning 2.5 today means you still have 2.6 and 3.x to look forward to, and that's a good thing.

We've added another Ubuntu laptop to the family, given the Sony had to go off to meetings in Philly. True, Sims 2 doesn't easily run on this distro (right?), but Lost at abc.com certainly does.

Background reading:
Re: minimalist vs. maximalist spectrum (Feb 18)