threading support in python
Paul Rubin
http
Tue Sep 5 20:31:11 EDT 2006
"sjdevnull at yahoo.com" <sjdevnull at yahoo.com> writes:
> Having memory protection is superior to not having it--OS designers
> spent years implementing it, why would you toss out a fair chunk of it?
> Being explicit about what you're sharing is generally better than not.
Part of the win of programming in Python instead of C is having the
language do memory management for you--no more null pointers
dereferences or malloc/free errors. Using shared memory puts all that
squarely back in your lap.
> I disagree with this, though. The benefits of deterministic GC are
> huge and I'd like to see ref-counting semantics as part of the language
> definition. That's a debate I just had in another thread, though, and
> don't want to repeat.
That's ok, it can be summarized quickly: it lets you keep saying
def func(filename):
f = open(filename)
do_something_with(f)
# exit from function scope causes f to automagically get closed,
# unless the "do_something_with" didn't know about this expectation
# and saved a reference for some reason.
instead of using the Python 2.5 construction
def func(filename):
with open(filename) as f:
do_something_with(f)
# f definitely gets closed when the "with" block exits
which more explicitly shows the semantics actually desired. Not that
"huge" a benefit as far as I can tell. Lisp programmers have gotten
along fine without it for 40+ years...
More information about the Python-list
mailing list