On Thursday, 4 July 2013 at 21:03:01 UTC, Mehrdad wrote:
On Thursday, 4 July 2013 at 20:58:57 UTC, Jonathan M Davis
wrote:
On Thursday, July 04, 2013 22:46:12 Mehrdad wrote:
How would you possibly be able to find the roots?
By putting all of the same information there that we have in
D. It may be clunkier to do in D and generally more of a pain,
but you have just as much control over memory in C++ as you do
in D.
And C++ GCs _do_ exist
Er, C++ _compilers_ that support (conservative?) GC's do exist.
But you can't write standard C++ code and expect it to
garbage-collect itself, you need external help that's not
guaranteed by the standard.
D, on the other hand, has a GC built into the language itself;
it's not an implementation detail.
To put it another way, _any_ conformant D compiler must
necessarily have a GC.
On the other hand, C++ compiler aren't required to, so portable
code can't assume they will.