[Python-Dev] RELEASED Python 3.0rc2

Victor Stinner victor.stinner at haypocalc.com
Fri Nov 7 10:53:38 CET 2008


Hi,

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:
   http://docs.python.org/dev/3.0/whatsnew/3.0.html

"PEP 352: Exceptions must derive from BaseException. This is the root of the 
exception hierarchy."
   I prefer to derive from Exception to be able to use 
   "exept Exception as: ..." which doesn't catch SystemExit 
   nor KeyboardInterrupt.

"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
   Python3.

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
http://www.haypocalc.com/blog/


More information about the Python-Dev mailing list