On the other hand, D supports a lot of great C++-style stuff, but I'd never pick it in that regime because it'd be the same amount of effort without as-fast-as-possible.
On the other hand, D supports a lot of great C++-style stuff, but I'd never pick it in that regime because it'd be the same amount of effort without as-fast-as-possible.
While the first part is perhaps somewhat subjective, the second is just wrong. D allows you to get to the same bare-metal, no-holds-barred level of performance that C++ does – I wonder where that misconception would come from.
Note that this is not just an academic possibility, but there are real-world use(r)s of D in exactly that domain, for example the folks at Weka.IO for their distributed file system. Of course, their sub-millisecond latencies don't leave much room for careless use of the garbage collector. But being careful about memory allocations for that sort of application is just as sensible a thing to do in D as it is in C++.
It is also possible for D to be as fast as C++ in many domains: we have LDC based on LLVM for optimisation (parity with clang), but I think that one of the biggest things is the flexibility to have (and determine what is) an efficient architecture.