✔ 最佳答案
Given few languages make it past the minor cult stage, I believe it is extremely unlikely that D will replace C/C++. I believe I can make that assertion without any argument about the language itself.
If you look at the language then I believe the uninformed assertion still applies, the language will not replace C/C++.
C/C++ is dominant in certain areas because it is a stable language used in software that is both massive in terms of numbers of lines of code and huge in terms of the number of people using it. C/C++ has a huge amount of inertia behind it. C had that inertia originally and C++ gained that inertia by being largely compatible with it, you can consume C code in C++ applications and write C++ code that can be consumed by C.
C++ has many failings as a language. It does not have a proper module system, linking of one compilation with another is done by them sharing text files; modern languages put type information in their object files. It is a massively complex language because it combines a long history with big ambition; modern languages obviously have less history but also often keep their ambitions smaller. Finally its memory model is too close to the physical nature of the computer which leads to it being fragile; a pointer can be trivially or inadvertently be coerced to point anywhere and the memory treated as any type.
C/C++ is probably not the ideal language for developing things other than operating systems and things close to operating systems. In the long term languages used for application development may push down into that space.
Objective-C, Java and C# all stand a far better chance of taking C/C++'s crown but none of them will. Objective-C suffers from many of the same problems as C/C++ and is often seen as an Apple-only language. Java and C# are hampered by politics, Java being a proprietary language of Oracle and C# often being seen as a Microsoft proprietary language.
C# does contain all the elements that might be necessary to dethrone C/C++, it has both a type safe memory model but many features allowing clearly signed doors to be opened into the underlying low-level memory model; C# has both Java-style references and C++-style pointers. But unless Microsoft produce a widely adopted operating system with it to replace Windows, I do not believe C# will not become universal.
More likely something that does not have a procedural ancestry may come to dominance. Perhaps one of the functional language group will make it into the mainstream.