On 28 April 2012 04:10, H. S. Teoh <hsteoh@quickfur.ath.cx> wrote:
On Sat, Apr 28, 2012 at 01:31:32AM +0200, SomeDude wrote:
[...]
> The other thing that would make it attractive among the C++
> developers, would be the development of a lightweight, high
> performance, minimal library that doesn't use the GC at all.  Ideally,
> it would be compatible with Phobos. I bet if such a library existed,
> flocks of C++ developers would suddenly switch to D.

I know the current GC leaves much room for improvement, but what's the
hangup about the GC anyway? If -- and yes this is a very big if -- the
GC has real-time guarantees, would that make it more palatable to C++
devs? Or is it just because they have trouble with the idea of having a
GC in the first place?

If the GC guarantees to behave in a deterministic and predictable way, I have no problem with it. And even if it doesn't, as long as it's lightning fast, and I can control the sweeps.
One major concern to me is invisible allocations. I want to know when I'm allocating, I like allocate operations to be clearly visible. There are a lot of operations that cause invisible allocations in D, but they are avoidable.
Games are both embedded and realtime code at the same time, this unions the strict requirements of both worlds into a system that demands very tight control of these things. Fragmentation is the enemy, so is losing 1ms (GC takes WAY longer than this currently) at random moments.

There is a problem right now where the GC doesn't actually seem to work, and I'm seeing D apps allocating gigabytes and never releasing the memory.
A great case study for the GC is VisualD, if any GC experts would like to check it out. It shows a use case where the GC utterly fails, and makes the software borderline unusable as a result. It seems to 'leak' memory, and collects can take 5-10 seconds at a time (manifested by locking up the entire application).
VisualD has completely undermined by faith and trust in the GC, and I've basically banned using it. I can't afford to run into that situation a few months down the line.