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/ewdoqmvslcnypzyrb...@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.

Reply via email to