There are many languages that replace C or C++ for most of todays tasks, e.g. Java or C#. But when you need absolute performance or want to code near the system level, those are again no choice. This is where D shines. It has basically all features of Java or C# but compiles directly to machine code. Some advantages against C/C++:
- no header files anymore (modular compilation)
- no preprocessor, no ugly macros
- garbage collector (+ use your own memory allocator)
- build-in strings and arrays
- advanced template support
- lazy evaluation
- Small things like multi-line strings, which can be very annoying and tedious in C/C++.
It’s really a great language. Lots of mistakes in C and C++ have been removed from the language. It can be easily mixed with C code and it’s damn fast.