Comment by WalterBright

3 years ago

D is not a gc based language. GC is just another tool D makes available to the programmer.

For other folks who don't write D:

D has GC, no GC ("@nogc" mode), or Ref-Counting (experimentally) with "@safe" and "@live" modes.

  • Which is exactly the point of GC enabled systems programming languages since the Xerox PARC days.

    Provide all the required features to write a full OS, while having the convenience of a GC for most of the code.

It is according to CS definition, and will keep being one unless @nogc is enabled by default for everything.

  • Using the GC in D is entirely at the user's discretion. You can also do functional programming in D, or not. The same with OOP, or not. Or RAII, or not.

    This is unlike Java, which forces the use of GC and OOP. Or Haskell which forces functional style.