Idiomatic D using GC as a library writer

Hipreme msnmancini at hotmail.com
Sun Dec 4 13:03:07 UTC 2022


On Sunday, 4 December 2022 at 09:53:41 UTC, vushu wrote:
> Dear dlang community.
>
>
> I am unsure about what idiomatic D is.
>
> Some of the Dconf talks tells people just to use the GC, until 
> you can't afford
> it.
>
> If there are documents that describes what idiomatic D is then 
> I would appreciate it.
>
>
> So my questions are:
>
>
> What are your thoughts about using GC as a library writer?
>
>
> If you wan't to include a library into your project aren't you 
> more inclined to use a
>
> library which is gc free?
>
>
>
> If that is true, then idiomatic D doesn't apply for library 
> writers.
>
> Since to get most exposure as a D library writer you kinda need 
> to make it gc free right?
>
>
>
> Cheers.


"Until you can't afford", is something really extreme. There is a 
bunch of ways to deal with GC memory, what I would say that can't 
afford is when you're constantly allocating memory and because of 
that, making the program more prone to execute a collection. I 
haven't had any problem with the GC yet. If you think your 
program is slow, pass it on a profiler and you'll know the real 
problem. Don't think too much about that or else you're gonna 
lose a heck lot of productivity and end up creating needlessly 
unsafe code.

If you're still gonna be hard headed against the GC, at least use 
slices when allocating from malloc, makes your code safe, 
readable and less variables to think about. Don't use raw 
pointers unnecessarily, and right now, the only reason pointers 
have been used in my code base was not for allocated memory, but 
for being able to modify a variable from another place when you 
need to store a variable reference. If you're only gonna modify 
it inside the function, use `ref` instead.


More information about the Digitalmars-d-learn mailing list