Giovanni Bajo wrote:

You are so very wrong, my son. CPython's implementation strategy
*will* evolve. Several groups are hard at work trying to make a faster
Python interpreter, and when they succeed, everyone, including you,
will want to use their version (or their version may simply *be* the
new CPython).

I'm basing my assumption on 19 years of history of CPython. Please, correct me if I'm wrong, but the only thing that changed is that the cyclic-GC was added so that loops are now collected, but nothing change with respect to cyclic collection. And everybody (including you, IIRC) has always agreed that it would be very very hard to eradicate reference counting from CPython and all the existing extensions; so hard that it is probably more convenient to start a different interpreter implementation.

Your history is true, but sometimes history changes faster than most expect. [As in the last 13 months of USA.] A year ago, I might have agreed with you, but in the last 6 months, there has been more visible ferment in the area of dynamic language implementations than I remember seeing in the past decade. When Guido says "CPython's implementation strategy *will* evolve" [emphasis his], I believe him. So this is just the wrong time to ask that it be frozen ;-).

While a strong argument can be made that the remaining 2.x versions should not be changed, they do not apply to 3.x. New code and ported old code should use 'with' wherever quick closing needs to be guaranteed. The 3.0 manual clearly states "An implementation is allowed to postpone garbage collection or omit it altogether "

OK, it also goes on to say "(Implementation note: the current implementation uses a reference-counting scheme with (optional) delayed detection of cyclically linked garbage,...)" I think the first part should at least be amended to 'the current CPython implementation' or 'the CPython implementation currently' or even better 'one current implementation (CPython)' and a warning added "But this may change" and "is not true of all implementaions" if that is not made clear otherwise.

Terry Jan Reedy






_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to