On Sunday, 4 December 2022 at 13:03:07 UTC, Hipreme wrote:
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.


True that makes sense, I also tried using nogc in code, but it complicates things.
The code is much easier to write when I don't work against the GC.

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.

Thanks for the tips :)

Reply via email to