Hello, folks! Newbie to D, have some questions!

timmyjose via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Feb 20 06:12:32 PST 2017


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.


More information about the Digitalmars-d-learn mailing list