In the past I have describe D as a nicer C compiler with some useful extras added. Although not 100% memory safe yet, it is getting better and for the most part, bounds checking is the main thing I am interested in. I have ported some C programs to D and it was fairly straight forward, during this process, missed errors were caught which is great. One of the great features about D is the fast compilation times, that and clear error messages help speed up the development progress. D also features lots of advanced features which I do not use such as template and mixins.
Like many languages listed here, D's memory management is handled by a garbage collector. Although optional, it is required by most programs that do anything complicated. D's garbage collector is not as advanced as Java or C#'s but using the built in profiler, it is easy to see where allocations are happening and adjust accordingly. The profiler is very easy to use and has helped me fine tune many of my programs.
The standard library is not as fully featured as those of C# or Java which may limit what D can be used for out of the box but it's speed, ease of use and C migration features (such as importC) make it a good choice for many tasks. Although the forum is full of improvement ideas, they are slow to appear.
The D Language section is now gone but some of the programs, source and guides can be found in the Test Area.
✔️ Very fast compilation times and easy to use compiler.
✔️ Familiar language syntax makes it easier to use.
✔️ The built-in debug tool for viewing allocations is great and underrated.
✔️ Produces standalone exe files that are not dependant on a separate runtime or virtual machine.
➖ Not as fully featured as some languages listed but also not backed by a mega corp...
❌ Not completely safe by default yet.
❌ The default compiler does not produce the quickest code.
❌ Progress on improving the language is slow.
Visit the D Programming Language website.
Memory Safe Languages:
C# |
D |
Go |
Java |
Rust
Updated (20/06/2026)