Idea #1 on integrating RC with GC

Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com> Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com>
Sun Feb 9 13:06:22 PST 2014


On Sunday, 9 February 2014 at 20:15:51 UTC, francesco cattoglio 
wrote:
> I totally agree on this, but the problem here is that
> there are game developers out there, willing to use D. I also 
> see lots of movement from hobbysts. We can't ignore them 
> completely. Undefinedly long pauses are really bad for them, 
> and something needs to be done. Be it in user code, library 
> solution or as core part of the language.

I totally agree with you. I totally agree that the best focus for 
D would be to aim for towards being a kick-ass low level system 
language with programmer directed optimization (compiler hints), 
good memory layout control, and low latency, for medium sized 
code bases, and without historical c/c++ cruft. Because that spot 
is open and it rings a bell... For some reason the D community 
does not pursue it… as a shared goal. And that means D will never 
get there.

I think one needs profiled whole program analysis to get there. I 
think one needs to aim for upcoming hardware architectures. I 
think one need to back it up with programmer specified 
constraints and hints. I think one needs high level optimization 
in addition to low level. I think one needs a very light and 
transparent runtime with tuneable low cost allocation schemes.

I also think one needs to reduce the focus on separate 
compilation with no knowledge about what goes on inside an object 
file and C++/C ABIs. The compiler should have as much information 
available as possible.

Then you also need to slack on C#/Java features, reflection, 
programming in the large, garbage collection and enforced 
correctness. To stay focused. However the goal of D appears to be 
to blend all these thing in one big melting pot. That makes 
things move slowly in a manner where I have trouble seeing the 
vision.

So the outlook today appears to be that D is primarily useful for 
the in-between-spot which is really tools and perhaps some server 
stuff.

> I agree that AAA titles are not the main right now, but this 
> doesn't mean indie projects shouldn't be doable. After all, 150 
> milliseconds pauses are really annoying for pretty much any 
> first person game.

Yeah, it is indeed both uneccessary and undesirable with that 
kind of latency, but if it happens once per hour it has no real 
consequences in most scenarios. For some reason the GC is the 
holy grail of D, so I am just kind of figuring out what the 
benefits/damage is.

Personally I have given up all hope of D becoming useful for 
client side stuff:

1. because of all the resistance in the forum.

2. because C++ portability is hard to beat (android, ios, win, 
pnacl etc)

3. because C++ provides low latency

4. because the capabilities of HTML5 browsers are eating heavily 
into the client space and might change the landscape in a few 
years

I think the perceived D-vision-of-2013 might be useful on the 
efficient-server-side and there the GC actually makes sense every 
once in a while to clean up leaks.

And that is OK too, even thought that space is a bit more crowded 
than the low level space.

Just let's avoid the high profile argument. Be exceptionally good 
at some modest stuff first then expand into other areas next 
iteration.

I think the fallacy is the notion of General Purpose Programming 
Language, as if those actually exist. :-) They don't, because 
human beings are following trends and you need a focused culture 
to sustain the eco system.

So yeah, I agree with you, but I don't see the clearly 
communicated vision and therefore don't believe in the growth of 
a eco system around D for client side programming. :-/


More information about the Digitalmars-d mailing list