Re:D Language accepted for inclusion in GCC
by dgfgfdagasdfgfa on Wednesday June 21, 2017 @06:39PM
(#14608591)
How is D's memory safety without the GC? How does it guarantee you don't use-after-free, de-ref nulls, buffer overflow, etc?
Re:D Language accepted for inclusion in GCC
by WalterBright on Wednesday June 21, 2017 @07:19PM
(#14608857)
Great question! The answer is a bit more than a simple reply can do, so:
Pointers Gone Wild: Memory Safety and D http://dconf.org/2017/talks/bright.html
Re:D Language accepted for inclusion in GCC
by hellcatv on Wednesday June 21, 2017 @08:51PM
(#14609318)
It seems like use-after-free is still a potential issue, even with those guard rails.
Rust deals with those through named lifetimes --would those ideas be useful in D as well?
Re:D Language accepted for inclusion in GCC
by dgfgfdagasdfgfa on Wednesday June 21, 2017 @07:31PM
(#14608932)
Walter, you're always so responsive in these threads! Cheers.
It is easy to claim how things "arguably" are, but without providing any justification that is not a very meaningful statement to make.
D very much matches your definition of "low-level, zero-overhead (no GC) etc nature and powerful metaprogramming facilities" – the GC can be avoided easily enough. It can certainly claim to be a "better C++" in this sense. For instance, Weka.IO (a storage startup founded on D) heavily relies on D to offer exactly that, in order to implement a distributed file system with sub-100µs latency.
The fact that you can also write Python-esque code during prototyping (playing fast and loose with the GC, etc.) doesn't detract from the core identity of the language as a tool for systems programming with zero-cost abstractions.