Destructor nonsense on dlang.org

Steven Schveighoffer schveiguy at yahoo.com
Thu May 24 07:53:58 PDT 2012


On Thu, 24 May 2012 10:30:02 -0400, Alex Rønne Petersen <alex at lycus.org>  
wrote:

> On 24-05-2012 15:49, Steven Schveighoffer wrote:
>> On Thu, 24 May 2012 09:47:23 -0400, deadalnix <deadalnix at gmail.com>  
>> wrote:
>>
>>> Le 24/05/2012 14:54, Peter Alexander a écrit :
>>>> On Thursday, 24 May 2012 at 12:21:02 UTC, Alex Rønne Petersen wrote:
>>>>> Hi,
>>>>>
>>>>> http://dlang.org/class.html#Destructor
>>>>>
>>>>> "The garbage collector is not guaranteed to run the destructor for  
>>>>> all
>>>>> unreferenced objects."
>>>>>
>>>>> What the *hell*? So resources are allowed to arbitrarily leak and the
>>>>> programmer has to actually expect this to happen?
>>>>>
>>>>> I really, really hope that this is a documentation error or early
>>>>> design decision that has since been rectified but with lack of
>>>>> documentation updates.
>>>>
>>>> I'm pretty sure it's the same in Java.
>>>>
>>>> Finalizers (a.k.a. class destructors) are practically useless.
>>>
>>> Java finalizer is a pretty bad design decision. Let's not reproduce
>>> error made in Java in D's destructors.
>>
>> You actually need a finalizer if you want to have resources that aren't
>> GC allocated.
>>
>> -Steve
>
> But that doesn't mean we should have Java finalization. There are many  
> different forms of finalization, and I do agree that Java is the worst  
> of all of them.

I only found one definition for finalizer on wikipedia, and it fits D's  
definition.

What I think we need is a dispose pattern for objects, like Tango has.

-Steve


More information about the Digitalmars-d mailing list