[DUG] Embarcadero article

Todd Martin todd.martin.nz at gmail.com
Wed Jun 17 15:16:21 NZST 2009


Hi Sean

I agree with you, GC is good to have at times.

What I am suggesting would allow Delphi to switch on GC, for those that
want it, or off, for those that don't. Or even better, provide GC (or
not) for a subset of registered classes. Can anyone complain about that?

If Delphi provided a notification system which dispatched an event
whenever a reference was added or released on a TObject instance, there
would be no need for IInterface/IUnknown. TObject would not need any
extra methods and therefore would not incur any overhead.

Todd.

> I don't want to get to deep into a discussion of this, the last time I got into a discussion on GC in non technical, I lost days of my life.  However:
>  - Suggesting that I move to prism to get a gc makes as much sense as suggesting that you move to c++ to get a 64 bit compiler
>  - As Phil said "It's horse for courses".  In the areas you work in, gc is obviously of no use.  In the areas I mostly work in, it would make my life much easier.
>  - Personally I get tired of the "GC = laziness" argument.  It's dismissive without any real thought.
>  - I do know how to use reference counted interfaces and smart pointers.  I use them for some things.  However reference counting doesn't work for circular references without a lot of additional work.  Adding to the opf I use would take more time than it would save.
> 
> Regards
>  
> Sean Cross
> CIO
> Catalyst Risk Management
> 
> 
> -----Original Message-----
> From: delphi-bounces at delphi.org.nz [mailto:delphi-bounces at delphi.org.nz] On Behalf Of Jolyon Smith
> Sent: Wednesday, 17 June 2009 2:28 p.m.
> To: 'NZ Borland Developers Group - Delphi List'
> Subject: Re: [DUG] Embarcadero article
> 
> I think the vitriol stems from the idea that people believe (and I think
> rightly) that the sort of garbage collection that people are asking for is
> largely an all or nothing affair.
> 
> i.e. if it's added to the language to please those who want GC (but who -
> for some reason - aren't inclined to simply use a runtime environment
> provides exactly what they say they want) then that this necessarily
> pollutes the language for those who feel that Garbage Collection comes at
> too high a price and is just pandering to the inherent laziness in all of us
> (myself included - I'd love to be able to think less, but I know that I'd
> make more mistakes if I did, not less).
> 
> The distrust of GC as a technology amongst experienced practitioners (as it
> typically is) of the black arts of software development stems from:
> 
>  - less efficient use of memory (*)
>  - unpredictably distributed performance across application usage (*)
>  - loss of determinism (debugging complexity)
> 
> (*) GC assumes a vast over supply of RAM and an availability of application
> idle cycles in which to recover wastefully over-allocated RAM.
> 
> 
> The beauty of the GC framework (ref counted lifetime managed via interfaces)
> that Delphi ALREADY OFFERS (!) is that:
> 
>  - as you say with 'D', it's optional  :)
>  - it remains deterministic
> 
> 
> So don't you already have what you want?
> All you have to do now is use it.  :)
> 
> --
>  "Smile", they said.  "it could be worse!"
>  So I did.  And it was.
> 
> 
> -----Original Message-----
> From: delphi-bounces at delphi.org.nz [mailto:delphi-bounces at delphi.org.nz] On
> Behalf Of Sean Cross
> Sent: Wednesday, 17 June 2009 14:02
> To: NZ Borland Developers Group - Delphi List
> Subject: Re: [DUG] Embarcadero article
> 
> I do use C# where it makes sense.  It just doesn't make sense for the sort
> of shareware and desktop apps I mostly do.  
> 
> I have never understood the fanatical hatred of garbage collection that some
> Delphi developers have (not aimed at anyone in particular but if you either
> try discussing gc in non-technical, you will get a large amount of vitriol
> heading your way).  It makes some things much easier, and some things
> harder.  Optional GC such as in D seems reasonable to me, but apparently not
> to everyone.
> 
> Regards
>  
> Sean Cross
> CIO
> Catalyst Risk Management
> 
> 
> -----Original Message-----
> From: delphi-bounces at delphi.org.nz [mailto:delphi-bounces at delphi.org.nz] On
> Behalf Of Phil Scadden
> Sent: Wednesday, 17 June 2009 1:33 p.m.
> To: NZ Borland Developers Group - Delphi List
> Subject: Re: [DUG] Embarcadero article
> 
> 
>> Garbage collection is what I really want, but it's a long way down the
> list of what will ever get added to Delphi :(
>>   
> Then use C#. I want Delphi as a C++ replacement with as few  compromises 
> as possible, not C#. That said, the C# programming model has things I 
> wouldnt mind in the language - data bound objects, decent object 
> inspector and the dynamic interface thingies. Of course, if you are 
> doing 64 bit, would MPI support be too much to ask as well?
> 



More information about the Delphi mailing list