On Saturday, 2 August 2014 at 20:58:34 UTC, Foo wrote:
On Saturday, 2 August 2014 at 20:38:59 UTC, David wrote:
Hi, not too sure if there's still someone reading this post,
but i do have another question. So, I heared so much good
stuff about D, it's powerfull, fast the syntax is nice, but
well, why is D actually not used for common games yet? (I mean
I know about some smaller projects, but nothing "big")
Because D has a GC, is unstable and has many many bugs (even an
ape could find some).
I am not in the game industry, but in other time-constrained
industry (realtime). For me, it nails down to GC and lack of
volatiles.
I tried to use it for some scripting, but finally reverted back
to simple Bash and some Python.
My opinion on the matter is that, in order to succeed, D really
must become a tool that could be used everywhere. The discourse
that "yes, but you could do that part in C (speaking about
realtime)" usually receives this kind of reply: "yes, but, then,
why bother? If I have C for this part, I have Bash for the other
and C# for the GUIs".
As long as it does not try to cover all the range, the
differential that it offers wrt C+C#/Java+Bash/Python does not
seems conclusive enough to justify the effort.
Add to this the quality of tools, which are still in their
infancy (just consider dynamic libs, debug support, IDE support,
static analysis tools etc.)
Well, feel free to destroy it. But I tried to use it at my
workplace. It is a nice language, but the differential is simply
not enough. The main selling point would be its potential
ubiquity ("hey, boss, one language to rule them all!"), but here
it fails short in systems programming, embedded realtime
programming and, as far as I hear, in massive
multi-threading/couroutines where Go is better. And C# has that
async...
I agree it is a bit o chicken and egg problem: "we don't invest
in D because is not popular/ the language is not popular because
nobody invest in it". That's true, but, as I tried it, in the end
the marginal gain was too small for us to continue on this road.
It matters less for us to be able to use slices than it matters
to have robust and time-predictable code.