Summary
Video and powerpoint slides of my recent Python 3000 talks are now online.
Advertisement
I gave two versions of a new talk on Python 3000 (a.k.a. Py3k or Python 3.0) recently. The first time, a preview, was on February 14, at Google in Mountain View. It is now up on Google Video (here).
The second time was on February 24, at PyCon 2007 in Dallas. The powerpoint slides are now up on python.org (here).
(I rearranged the talk a bit based on the feedback I got on the Google talk, so the slides don't exactly match the video, but they are mostly close.)
If after viewing these you have questions about the implications for the transition from Python 2.x to Python 3.0, please join us on python-dev (start here). Plans are emerging to add many features to Python 2.6 (which will be released a few months before 3.0) that will ease the transition, e.g. backporting selected Py3k features and (optional) warnings about features that will be gone in 3.0.
I'm a bit worried that on slide 10 of the Google Video presentation, it says that "bytes has .encode() returning a string" and "str has .decode() method returning bytes". To my mind, those are backwards: turning a Unicode string into a particular sequence of bytes according to particular encoding is, well, 'encoding' the string, not 'decoding' it.
Apart from that, everything lined up for Python 3000 seems pretty great, and I can't wait to start using it. Considering my company is currently completing a transition to Python 2.3, it won't be for a while yet, but it'll be good when it comes.
This is great stuff and I'm happy to see that Python 3 is not so far in future. I really like the changes; I think this is great. If I can allow myself a few comments/questions...
There's a few changes I don't get why they can't be added in 2.X, like keyword-only parameters ans set special syntax (I'm guessing implementation complexity).
I don't understand why "raise E" is allowed, wouldn't it be better to require "raise E()" so that raise takes an expression always used the same way? It looks like a pattern easy to find in conversion scripts...
I may suggest to add a "traceback" keyword argument to exception constructors, IMHO "raise E(arg, traceback=tb)" is more elegant than "with_traceback" solution (but I understand that way no need for every exception constructor to support it).
I've read PEP3104, and it's still not clear to me, with the nonlocal keyword, there's no need for the global keyword? While I understand both can exist at the same time and have different meanings, it seems to me that nonlocal alone is reasonably enough for all needs.
Will -t or -tt be the default with Python 3.0?
Sorry if I've missed any answer in one of the PEPs.
Hello Guido van Rossum I Had seen the Presentation. They are quite informative. but I am not able to see your video.Can't it is possible to have a difference version of the file. Sience I am seating behind a proxy. and I don't wish to break the rules. I hope Some live presentation will be helpfull for guys like me. One more thing kindly don't use any word video or some what similiar thing coz proxy is working on filters.
I am PHP lover but Python is quite cool specially some task i wish to do from a long time but not able to do it before.I had done it just due to this language