[Python-3000] [Python-Dev] RELEASED Python 3.0rc2
victor.stinner at haypocalc.com
Fri Nov 7 10:53:38 CET 2008
Great job Barry and all contributors who fixed the "last" bugs ;-)
Le Friday 07 November 2008 04:53:35 Barry Warsaw, vous avez écrit :
> We expect only critical bugs to be fixed between now and the
> final release, currently planned for 03-Dec-2008.
The document "What's new in Python 3.0" in should be updated:
"PEP 352: Exceptions must derive from BaseException. This is the root of the
I prefer to derive from Exception to be able to use
"exept Exception as: ..." which doesn't catch SystemExit
"PEP 3134: Exception chaining. (The __context__ feature from the PEP hasn’t
been implemented yet in 3.0a2.)"
The feature is now implemented!
"PEP 237: long renamed to int. (...) sys.maxint was also removed since the int
type has no maximum value anymore."
What about the new sys.maxsize constant? Oh, it's written at the bottom,
"Removed sys.maxint. Use sys.maxsize." Both paragraphs should be merged.
"Optimizations (...) 33% slower (...) we expect to be optimizing string and
integer operations significantly before the final 3.0 release!"
I don't expect "significant" changes before the final release. I worked on
some patches about the int type (use base 2^30 instead of 2^15, GMP, etc.),
but all patches optimize large integer (more than 1 digit, or more than 20
digits) whereas most integers in Python are very small.
About str=>unicode, I also don't expect changes. On character in now
4 bytes (or 2 bytes), whereas Python2 used 1 byte. This introduce an
overhead. Most functions at C level use an conversion from byte
string (ASCII) to Unicode (eg. PyErr_SetString). We should directly use
wide string (eg. PyErr_SetWideString?).
"Porting to Python 3.0"
This section is very small and gives few informations. There is nothing
about 2to3 (just two references in the document). I also read somewhere
that someone wrote a document explaining how to port a C extension to
What about a link to the "What's new in Python 2.6" document? Most people are
still using Python 2.4 or 2.5. And Python3 is Python 2.5 + <changes in Python
2.6> + <changes in Python 3.0)>.
Victor Stinner aka haypo
More information about the Python-3000