D on quora ...

Radu void at null.pt
Sat Oct 7 09:37:12 UTC 2017


On Friday, 6 October 2017 at 17:14:51 UTC, Rion wrote:
> https://www.quora.com/What-is-your-review-of-D-programming-language
>
> It seems that D still has the GC being mentioned up to today.
>
> Maybe its better to move the standard library slower to a non 
> gc version in the future...

I think there is some merit criticizing D's GC.

The major problem with it ATM is that there is no convenient way 
to use all (most) of D's std lib without it.

This also extends to third party libs - most of them are coded 
with the GC in mind because of the above point.

I'm more an ambivalent person re. the GC - I see it as an useful 
tool most of the times, but also would like to get rid of it 
cleanly when circumstances require it.

I think there are some great steps already done to make it easier 
for programmers to use D without the GC: @nogc, betterC and the 
gang, but D is not yet up there.

Not for the naysayers sake - there will always be plenty of them 
regardless, I think more focused work on finishing the bellow 
points will make pragmatic D programmers more productive:

- Scope (-dip1000), a great tool to help code safe manual memory 
managed style apps. This could be huge for attracting more system 
level guys to D once it is finished (see bugzilla), it could 
offer some of Rust's guarantees without resorting to mind bending 
techniques - all in a nice C like syntax.

- betterC, this one is nice as it enforces "cost free 
abstractions" bondage while providing a low level C 
compatibility, more work here on RAII will be a boost! In general 
the work done for betterC for reducing bloat and impose a 
"pay-as-you-go" discipline will help D in general.

- Allocators - right now they are in Phobos... This is not great, 
they should be split in 2 parts: core an druntime. One should be 
able to use a minimal set in betterC mode, and the full version 
with druntime (all GC related parts).

All the above are cascading on each other, and the sum will 
create a hard to refuse offer even for the most dye-hard C/C++ 
guys.

And lastly, Ds GC needs work - it is not yet optimally 
implemented (see 
http://forum.dlang.org/thread/ewdoqmvslcnypzyrbfwz@forum.dlang.org) not to mention that design wise there are still more things to explore and experiment with: precision scanning, determinism, and a lot of research done on system-level GCs yet to consider.


More information about the Digitalmars-d mailing list