LinkedIn Article to be: Why you need to start moving off C/C++ to D, now.

via Digitalmars-d digitalmars-d at puremagic.com
Wed Jul 16 09:55:28 PDT 2014


On Wednesday, 16 July 2014 at 10:13:44 UTC, Chris wrote:
> The problem you described above is omnipresent. Objective-C has 
> autorelease, in plain C programs one has to be careful where 
> and when to free what, etc. I was wondering after reading your 
> post, whether it would be possible to have an automatic memory 
> management system that could help to create a 1-1-match, or if 
> even the compiler + language features could help to _easily_ 
> achieve that.

Of course. Allocating something on the stack and passing around 
pointers to it is safe iff you can guarantee that all the 
pointers to it are gone once you leave the stack frame (actually 
the variables scope). This is what is currently being discussed 
in the parallel thread(s) about borrowing with `scope`.

> Maybe the copy approach mentioned earlier points into that 
> direction.
>
> Anyway, I think you are on to something here. Maybe the 
> solution is not a hyper-super-waterproof GC algorithm (that 
> will never be achieved, I guess, in any language), but 
> eliminating the need to collect the garbage as much as possible.

+1

Borrowing makes it possible to do this safely, and in addition, 
enables crucial performance optimizations for reference counting, 
when it is needed.


More information about the Digitalmars-d mailing list