It would probably make discussion easier if people switched to using
better terminology. I prefer using "destruction" to mean the memory
for an object actually getting freed, and "finalization" for whatever
cleanup actions an object performs at some point after it is no longer
accessible. So "timely destruction" is not very important, because
destruction only needs to be timely enough to avoid running out of
memory. "Timely finalization" is what we spend much time talking and
worrying about. In Perl5, if you didn't think about it too hard then
you could get away with thinking of them as being the same thing, even
though they never really were.

I guess you could think of the lifecycle of an individual object as
being controlled by a few significant life events:

 1. birth
 2. the last reference disappearing
 3. finalization
 4. destruction

Reply via email to