On 23 February 2015 at 03:13, Andrei Alexandrescu via Digitalmars-d <digitalmars-d@puremagic.com> wrote: > On 2/22/15 8:36 AM, Manu via Digitalmars-d wrote: >> >> On 22 February 2015 at 13:53, Daniel Murphy via Digitalmars-d >> <digitalmars-d@puremagic.com> wrote: >>> >>> "Manu via Digitalmars-d" wrote in message >>> news:mailman.7037.1424565826.9932.digitalmar...@puremagic.com... >>> >>>> I personally think ARC in D is the only way forwards. That is an >>>> unpopular opinion however... although I think I'm just being realistic >>>> ;) >>> >>> >>> >>> A big part of why it's unpopular is that nobody, including you, wants to >>> implement it to see if it's viable. >> >> >> I have no idea where to start. > > > Simple approaches to reference counting are accessible to any software > engineer. The right starting point is "I used reference counting in this > project, and here are my findings". > > A position such as the following makes the dialog very difficult: > > 1. One solution is deemed the only viable.
Propose how GC will ever be a success? I honestly don't care, I just want a solution that's acceptable. I tried to convince myself that GC would be fine for half a decade now, but I've run out of patience. I've been sitting around waiting for years for someone to say how GC will ever be an acceptable solution. How long do I have to wait? Evidence suggests, there IS only one viable solution. Granted, that's not proven viable; it has barely been explored. (on account of borderline religious opposition) I can see why GC will never work in D, I can not see why ARC will never work. > 2. Details and difficulties are unknown to the proposer. I'm proposing that the *conversation* needs to be taken seriously. Every time I've raised it in the past it's been immediately dismissed and swiped off the table. I'm not an expert on garbage collection, I have practically nothing to add. I'm also not particularly interested in garbage collection (of any form); I just want it to work. But it doesn't take an expert to recognise that in 6 years, nobody has presented any forward momentum on the GC front, no matter how fantastical. I can easily visualise a way forward with RC. There's plenty of room for exploration. Sure it's not trivial, but maybe it's *possible*, as it certainly seems that GC is not. > 3. It must be implemented by others, not the proposer. It must be discussed before we even think about implementing it. And that is predicated by not being dismissed on impact. > 4. It must be part of the language; any experimentation outside the language > is considered an unnecessary waste of time. RC performance in a lib depends a lot on scope overloads of constructor/destructor/postblit to eliminate ref fiddling code. Scope proposals were butchered. I'm disappointed with where that went.