Mac Apps That Use Garbage Collection Must Move to ARC
Walter Bright via Digitalmars-d
digitalmars-d at puremagic.com
Sun Feb 22 22:50:46 PST 2015
On 2/22/2015 9:53 PM, Manu via Digitalmars-d wrote:
> It's got nothing to do with doing work. ARC (or something like it) is
> almost religiously opposed. We can't even have a reasonable
> conversation about it, or really explore it's implications before
> someone (that ideally know's what they're doing) thinks about writing
> code.
I participated in a very technical thread here on implementing ARC in D. I
wanted to make it work - nothing was off the table, language changes, special
features, etc.
http://www.digitalmars.com/d/archives/digitalmars/D/draft_proposal_for_ref_counting_in_D_211885.html
It was just unworkable, and nobody who participated in that thread had workable
ideas on moving forward with it. Nothing since has come up that changes that. If
you've got some ideas, please present them taking into account the issues
brought up in that thread.
Also, please take into account; proposals will not get much of a reception if
they ignore these points:
1. Increment and decrement, ESPECIALLY DECREMENT, is EXPENSIVE in time and bloat
because of exceptions. Swift does it by NOT HAVING EXCEPTIONS. This is not an
option for D.
2. As far as I can tell, the idea of flipping a compiler switch and the GC
switches to ref counting is a pipe dream fantasy. You can probably make such a
scheme work with a very limited language like Javascript, but it is never going
to work with D's support for low level programming. The way RC and GC work is
different enough that different user coding techniques will be used for them.
3. Memory safety is a requirement for any ARC proposal for D. Swift ignores
memory safety concerns.
4. DIP25, now implemented, is a way to address memory safety in D while using
reference counting. Any proposal for ARC needs to, at least, understand that
proposal.
http://wiki.dlang.org/DIP25
More information about the Digitalmars-d
mailing list