classification
Title: Update What's new in 3.0
Type: Stage:
Components: Documentation Versions: Python 3.0
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: gvanrossum Nosy List: barry, benjamin.peterson, georg.brandl, gvanrossum, haypo, pitrou, skip.montanaro
Priority: normal Keywords:

Created on 2008-03-16 21:06 by gvanrossum, last changed 2008-12-03 17:48 by gvanrossum. This issue is now closed.

Messages (17)
msg63592 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2008-03-16 21:06
I will be working on this.
msg75263 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2008-10-27 20:53
Ping.
msg75281 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2008-10-28 14:18
Yes, I know. I'll spend some time on it this week.

BTW what's the hold-up with the rc2 release?  Or did I just miss it?
msg75593 - (view) Author: Barry A. Warsaw (barry) * (Python committer) Date: 2008-11-07 03:13
Raising to deferred blocker.  This will definitely block 3.0rc3.
msg75606 - (view) Author: STINNER Victor (haypo) * (Python committer) Date: 2008-11-07 17:17
"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)>.
msg76111 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2008-11-20 15:53
This will have to deferred to the final 3.0 release, I don't have time
today (dr's appt, internal release, blah, blah).

Sorry!
msg76182 - (view) Author: STINNER Victor (haypo) * (Python committer) Date: 2008-11-21 14:12
Copy/paste of the issue #4372:
---
What's New in Python 3.0/Common stumbling blocks
has this "builtin.sorted() and list.sort() no longer accept the cmp
argument providing a comparison function. Use the key argument 
instead."

Please add "The __cmp__ special method is no longer used for
comparisons. Use __lt__ for sorting, __eq__ with __hash__, and other
rich comparisons as needed."

People are already stumbling on this.
---
msg76237 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2008-11-22 08:36
Added __cmp__ issue in r67331.
msg76655 - (view) Author: Barry A. Warsaw (barry) * (Python committer) Date: 2008-11-30 19:40
Guido... ping?
msg76715 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2008-12-01 23:47
Working on it! Woo hoo!

Thanks Victor for the detailed feedback.
msg76758 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2008-12-02 16:31
The "optimizations" section needn't be so pessimistic. I just compiled
the latest py3k and release2.5-maint branches and py3k is 10% slower
(38000 vs. 42000).
msg76771 - (view) Author: Barry A. Warsaw (barry) * (Python committer) Date: 2008-12-02 20:07
Guido, ETA?  I think this will be one of the last things before we can
tag the tree for release.
msg76798 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2008-12-02 22:28
On Tue, Dec 2, 2008 at 12:07 PM, Barry A. Warsaw <report@bugs.python.org> wrote:
>
> Barry A. Warsaw <barry@python.org> added the comment:
>
> Guido, ETA?  I think this will be one of the last things before we can
> tag the tree for release.

Late tonight.
msg76812 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2008-12-03 04:43
I wouldn't go so far as claiming this is completed, but I think it's in
a good enough shape to release.  I may continue to work on it some more,
but you can freeze the tree at any moment -- I won't add more XXX stuff
(except perhaps commented-out).

Review of what I submitted is also very welcome.  I'll try to get back
on IRC.
msg76817 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2008-12-03 09:36
Some small mistakes :

* « an object always compares equal to itself (i.e., ``x is y`` implies
``x == y``; this is true even for *NaN*) ». Actually NaN is not equal to
itself:

True
>>> f == f
False

* « The traceback printed when an unhandled exception occurs walks the
chain of :attr:`__cause__` and :attr:`__context__` attributes and prints
a separate traceback for each component of the chain, with the primary
exception at the top. » If by "primary exception" you mean the latest
one, then it's printed at the bottom, not the top.
msg76834 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2008-12-03 17:42
On Wed, Dec 3, 2008 at 1:36 AM, Antoine Pitrou <report@bugs.python.org> wrote:
>
> Antoine Pitrou <pitrou@free.fr> added the comment:
>
> Some small mistakes :
>
> * « an object always compares equal to itself (i.e., ``x is y`` implies
> ``x == y``; this is true even for *NaN*) ». Actually NaN is not equal to
> itself:
>
> True
>>>> f == f
> False

Raymond pointed this out too and I fixed it before Barry got to the tagging.

> * « The traceback printed when an unhandled exception occurs walks the
> chain of :attr:`__cause__` and :attr:`__context__` attributes and prints
> a separate traceback for each component of the chain, with the primary
> exception at the top. » If by "primary exception" you mean the latest
> one, then it's printed at the bottom, not the top.

No, I mean the first one (as the example tries to clarify).

Thanks for reviewing! I definitely cut it too close this time, due to
various other commitments. :-(
msg76835 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2008-12-03 17:48
I think this is good enough for now.

Someone else can help add stuff I missed, but I don't think we need to
keep a bug open to remind us.
History
Date User Action Args
2008-12-03 17:48:22gvanrossumsetstatus: open -> closed
resolution: fixed
messages: + msg76835
2008-12-03 17:42:38gvanrossumsetmessages: + msg76834
2008-12-03 09:36:12pitrousetmessages: + msg76817
2008-12-03 04:43:10gvanrossumsetpriority: release blocker -> normal
messages: + msg76812
2008-12-02 22:28:33gvanrossumsetmessages: + msg76798
2008-12-02 20:07:05barrysetmessages: + msg76771
2008-12-02 16:31:24pitrousetnosy: + pitrou
messages: + msg76758
2008-12-01 23:47:03gvanrossumsetmessages: + msg76715
2008-11-30 19:40:43barrysetmessages: + msg76655
2008-11-22 08:36:28georg.brandlsetnosy: + georg.brandl
messages: + msg76237
2008-11-21 15:38:00skip.montanarosetnosy: + skip.montanaro
2008-11-21 15:18:07barrysetpriority: deferred blocker -> release blocker
2008-11-21 14:12:24hayposetmessages: + msg76182
2008-11-20 15:53:34gvanrossumsetpriority: release blocker -> deferred blocker
messages: + msg76111
2008-11-19 19:26:55brett.cannonsetversions: + Python 3.0
2008-11-07 17:17:10hayposetnosy: + haypo
messages: + msg75606
2008-11-07 13:31:09barrysetpriority: deferred blocker -> release blocker
2008-11-07 03:13:40barrysetpriority: high -> deferred blocker
nosy: + barry
messages: + msg75593
2008-10-28 14:18:32gvanrossumsetmessages: + msg75281
2008-10-27 20:53:32benjamin.petersonsetnosy: + benjamin.peterson
messages: + msg75263
2008-03-16 21:06:42gvanrossumcreate