- fast compilation times
- a module system
- famously powerful metaprogramming and compile-time introspection
- a familiar, but not ugly syntax
- comes with a package manager
- simple-to-use build tools with dependency discovery
- mostly-optional garbage collector (great for 90% projects!)
- interfaces with C and C++
- memory safe
C++ still has:
- header files
- a preprocessor
- infamously hard-to-parse syntax
- decades of legacy cruft
- fun things like design-by-SFINAE
My biggest reason to use D is that it works great for both small scripts (one program can be one file and is ran with one command, or even a shebang), and large projects (with packages / dependencies etc.). Similarly, if idiomatic D is too slow, you can optimize it by going as low as C or inline assembler without having to call-out to a lower-level language.
Source: using D for almost everything since 2006, while also maintaining a few C++ projects.
The features are designed with an eye towards simple things should be simple, code should not have to written twice, the layout of the code should match the layout of the problem being solved (not the language), drudgery should be eliminated, and common bugs should be impossible.
It's GPGPU functionality with an absolute minimum of boilerplate. Unfortunately it does not seem to be in active development.
I've just had a bit of fun updating the SPIR-V backend to use https://github.com/KhronosGroup/SPIRV-LLVM-Translator instead of the old one which wasn't being updated. I'm in the process of adding clspv as a backend for Vulkan Compute shaders (in turn as a basis for targeting Intel's ispc compiler optimisations). Most of that fun involves bashing CMake around that head to try to get it to talk properly with pkg-config (I hate them both).
Is there a reason why you believe that to be true?
> So in case of GCC or LLVM based D compilers, the time should be similar?
They are not: https://atilanevesoncode.wordpress.com/2018/12/31/comparing-...
You _can_ get things done in modern C++, it just takes longer and is buggier. In my experience, anyway.
Disclaimer: Nowadays I am more enthusiastic about Rust than D, but I still consider D to be a very solid and nice language.