More radical ideas about gc and reference counting

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Wed Apr 30 21:07:42 PDT 2014


On 4/30/14, 7:20 PM, Steven Schveighoffer wrote:
> On Wed, 30 Apr 2014 21:51:38 -0400, Andrei Alexandrescu
> <SeeWebsiteForEmail at erdani.org> wrote:
>
>> On 4/30/14, 6:04 PM, Steven Schveighoffer wrote:
>>> destructors are for cleaning up non-GC resources. File handles, malloc'd
>>> memory, etc. I don't see why these need to be eliminated.
>>
>> Virtually all GCs are known to be horrible at managing scarce
>> resources (including memory itself).
>
> The destructor can be a crutch, but it's not good to leave open
> resources when the user of your code has not cleaned them up manually.

Sounds like defensive programming to me.

> I can see no reason to disallow destruction from cleaning up resources
> that nobody else has managed to clean up.

Make memory management faster and better for everyone. I'm not saying 
it's reason enough, but it's a reason.

> The largest problem with D destructors comes from trying to clean up D
> objects in destructors of structs, that you never expected to be done
> via the GC.
>
> Cleaning up files and malloc'd memory is not an issue.

Not getting this...


Andrei



More information about the Digitalmars-d mailing list