Getting completely (I mean ENTIRELY) rid off GC
bachmeier via Digitalmars-d
digitalmars-d at puremagic.com
Thu Sep 11 11:44:14 PDT 2014
On Thursday, 11 September 2014 at 18:32:10 UTC, Daniel Alves
wrote:
> You know, currently I spend most of my time programming in
> ObjC, but I really love C, C++ and D.
>
> Since the Clang Compiler, ObjC dropped the GC entirely. Yes,
> that's right, no GC at all. And, in fact, it does support
> concurrent programming and everything else. The magic behind it
> is ARC - Automated Reference Counting
> (http://clang.llvm.org/docs/AutomaticReferenceCounting.html):
> the compiler analyzes your code, figures out object scopes and
> sets the correct calls to retain/release/autorelease (for those
> who are not familiar with ObjC, pointers are mostly reference
> counted). So there is no need for a GC and all its
> complications.
>
> In addition to that, Rusty also has an approach like ObjC
> called Region Pointers and objects' Lifetime
> (http://doc.rust-lang.org/guide-pointers.html#boxes). The idea
> is the same, but, depending on the type of the pointer, the
> compiler may add a call for freeing or for decrementing a
> pointer reference counter.
>
> Finally, it looks like there is a language called Cyclone that
> goes the same way (paper here:
> http://www.cs.umd.edu/projects/cyclone/papers/cyclone-regions.pdf)
>
> Since I read Andrei's book, D Programming Language, I've been
> asking myself why D does not go this way...
>
> Anyone knows about a good reason for that?
>
> On Thursday, 11 September 2014 at 18:04:06 UTC, Andrey Lifanov
> wrote:
>> Thank you all for replies!
>>
>> I'm not saying that GC is evil. I just want to have different
>> options and more control, when this is required. If D offered
>> such choice, many good C++ programmers would have certainly
>> considered D as a perfect alternative to C++.
>>
>> D states that there is no strict and dogmatic rules that it
>> follows about programming languages paradigms. And that it is
>> a general purpose language. So I think it would be nice to
>> have more options of how we can manage memory.
>>
>> I will continue investigation and certainly inform you if it
>> ends with something useful.
Here are a few of the bazillion threads that have discussed the
topic:
http://forum.dlang.org/thread/ljrm0d$28vf$1@digitalmars.com?page=1
http://forum.dlang.org/thread/lphnen$1ml7$1@digitalmars.com?page=1
http://forum.dlang.org/thread/outhxagpohmodjnkzzol@forum.dlang.org
More information about the Digitalmars-d
mailing list