I'm just repeating a critique that I read, I haven't evaluated them against one another.
Having a GC excludes you from some programming domains -- well controlled latency, bootstrapping/operating systems.
- The language has the @nogc attribute to ensure at compile time that the GC is not used in a function or an entire module.
- The number of standard library functions that have the @nogc attribute is increasing by the minute. :)
- There is some effort to port Sociomantic's proprietary multi-threaded GC to D (theirs was written for D1).
Even without the GC, D is still a good "better-C" language. The GC didn't stop people writing bare-metal / operating system kernels in D:
https://github.com/JinShil/D_Runtime_ARM_Cortex-M_study/wiki/1.1---Hello,-World! https://github.com/xomboverlord/xomb
Oberon, Modula-3, Singularity designers don't share the same opinion
I'm just repeating a critique that I read, I haven't evaluated them against one another.
Having a GC excludes you from some programming domains -- well controlled latency, bootstrapping/operating systems.