On Sunday, 19 February 2017 at 12:40:10 UTC, Guillaume Piolat
wrote:
On Saturday, 18 February 2017 at 20:15:55 UTC, timmyjose wrote:
My rudimentary knowledge of the D ecosystem tells me that
there is a GC in D, but that can be turned off. Is this
correct? Also, some threads online mention that if we do turn
off GC, some of the core std libraries may not fully work. Is
this presumption also correct?
The topic is complex, there are a lot of mitigation techniques.
A - for most real-time programs, you may want to keep the GC
heap under 200kb. A combination of GC profiling, using values
types, and manual memory management can get you there. @nogc
also helps.
B - some real-time threads don't like to be paused (audio). You
can unregister them from the runtime which means the GC won't
stop them on collection. On the other hand this thread won't be
able to "own" collectable things.
C - finally you can either disable the runtime/GC altogether,
or not link with it. This create the most effort but with a
guarantee of not having a GC over the whole application. In
most cases it's _not worth it_.
The hard part about GC is understanding reachability, but
unless you are doing very systemy, this can be safely ignored.
You will be just fine.
Secondly, how stable is the language and how fast is the pace
of development on D?
Language doesn't break nowadays, very stable apart from dreaded
regressions with the DMD backends.
http://erdani.com/d/downloads.daily.png
2. I am also curious as to what would be the best path for a
complete beginner to D to learn it effectively?
"Learning D" book seems fitting.
3. Are there some small-scale Open Source projects that you
would recommend to peruse to get a feel for and learn
idiomatic D?
I run https://p0nce.github.io/d-idioms/ to get up to speed with
the weird idiosyncrasies fast. But the above book is way better.
Thanks for your response! I actually started out with
"Programming in D", but found it more oriented towards people new
to programming. I am currently working through "Learning D", and
it's been a real pleasure so far! Thanks for the recommendation.