Nick Coghlan <[EMAIL PROTECTED]> writes: > Neil Toronto wrote: >> I imagine this would be important to someone expecting system resources >> to be cleaned up, closed, deallocated, or returned inside of __del__ >> methods. Someone coming from C++ might expect LIFO behavior because >> common idioms like RAII (Resource Allocation Is Instantiation) don't >> work otherwise. A Java programmer wouldn't care, being used to cleaning >> up resources manually with a try...catch...finally. >> >> I'm just putting a possible motivation on the concern. It happens that >> the Pythonic Way is also the Java Way in this area: don't expect any >> specific deletion order (don't even expect a guaranteed call to >> __del__), and manually clean up after yourself. As a warning, this has >> been the subject of a great many flame wars between C++ and Java >> programmers... > > We know. Python 2.5 added a new statement (with) and a new standard > library module (contextlib) to allow resource deallocation to be dealt > with cleanly without requiring assumptions about the interpreter's > memory model. > > While RAII isn't mentioned explicitly in the corresponding PEP (PEP > 343), it was certainly a factor in the python-dev discussions.
It's mentioned in PEP 310, the predecessor to PEP 343. Cheers, mwh -- "I lacked the courage to investigate the weaknesses of the wicked, because I discovered they are the same as the weaknesses of the saintly." -- The Name Of The Rose, Umberto Eco _______________________________________________ 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