5 ms·
D is GC optional, so that makes it pretty different than Java and C# and Go. It also compiles to native exes as the normal procedure. You can do that with Java
by jackmott 9y ago
D is GC optional, so that makes it pretty different than Java and C# and Go.
It also compiles to native exes as the normal procedure. You can do that with Java / C# in special cases though.
D is much easier to pick up than Rust. Rust seems to take the runtime overhead of Java/C# and put it into your brain overhead during typing time.
D has very fast compile times, Rust has very slow compile times.
- ruleabidinguser 9y agoI would like to use D if I could dump the GC, but it appears they don't make that easy, even though as you say it is possible. For me smart pointers make memory management seem not so daunting.
- bachmeier 9y agoIt's actually pretty easy. Just mark your code as @nogc, and it won't compile if there's anything that could potentially trigger a garbage collection. You obviously lose some functionality this way, but there's nothing difficult about avoiding the GC.
- mhh__ 9y agoThere are smart pointer libaries, and also implementing ref counting is much more straightforward than in C++ because the type system knows whether data is being shared or not. I should add that the GC actually works perfectly fine for normal work, it justs not up to the competition (Partly because of having to work with traditional dynamic memory).