On Thu, Feb 9, 2012 at 10:37 AM, Masklinn <masklinn@masklinn.net> wrote:
On Thu, Feb 9, 2012 at 10:14 AM, Masklinn <masklinn@masklinn.net> wrote:
On 2012-02-09, at 19:03 , Steven D'Aprano wrote:
The choice of which garbage collection implementation (ref counting is garbage collection) is a quality of implementation detail, not a language feature.
That's debatable, it's an implementation detail with very different semantics which tends to leak out into usage patterns of the language (as it did with CPython, which basically did not get fixed in the community until Pypy started ascending),
I think it was actually Jython that first sensitized the community to
On 2012-02-09, at 19:26 , Guido van Rossum wrote: this
issue.
The first one was Jython yes, of course, but I did not see the "movement" gain much prominence before Pypy started looking like a serious CPython alternative, before that there were a few voices lost in the desert.
I guess everyone has a different perspective.
especially when the language does not provide "better" ways to handle things (as Python finally did by adding context managers in 2.5).
So theoretically, automatic refcounting is a detail, but practically it influences language usage differently than most other GC techniques (when it'd the only GC strategy in the language anyway)
Are there still Python idioms/patterns/recipes around that depend on refcounting?
There shouldn't be, but I'm not going to rule out reliance on automatic
resource cleanup just yet, I'm sure there are still significant pieces of code using those in the wild.
I am guessing in part that's a function of resistance to change, and in part it means PyPy hasn't gotten enough mindshare yet. (Raise your hand if you have PyPy installed on one of your systems. Raise your hand if you use it. Raise your hand if you are a PyPy contributor. :-) Anyway, the refcounting objection seems the least important one. The more important trolls to fight are "static typing is always better" and "the GIL makes Python multicore-unfriendly". TBH, I see some movement in the static typing discussion, evidence that the static typing zealots are considering a hybrid approach (e.g. C# dynamic, and the optional static type checks in Dart). -- --Guido van Rossum (python.org/~guido)