Quora: Why hasn't D started to replace C++?

data pulverizer data.pulverizer at gmail.com
Wed Feb 7 21:02:11 UTC 2018


On Tuesday, 30 January 2018 at 20:45:44 UTC, Andrei Alexandrescu 
wrote:
> https://www.quora.com/Why-hasnt-D-started-to-replace-C++
>
> Andrei

The Betamax Problem

When you introduce something new, how do you know that it is 
going to be compelling enough for people to move from whatever it 
is they are doing and use your new thing?

It is not an easy question to answer but in the realm of 
programming languages it's a very tough question, because people 
are going to have to learn a whole new language, and its going to 
come with costs and potentially unquantifiable risks for any 
company that attempts to shift to that language. So whatever it 
is you are offering has to be tremendously compelling compared to 
what is already there.

An important question is what problem set does D solve? It's very 
hard to sell a language to industry without convincingly 
answering that question. If you are selling them a 'better' 
language - that's a tougher sell. If you are selling a solution 
to a particular problem set - you stand better a chance.

For a manager to consider D as the successor to C++, it doesn't 
just have to be a better language design than C++, it has to have 
the best language design of any compiled language and demonstrate 
the best performance. Is the former really true? Are various 
language features that have been inherited from C++/Java the best 
way forward? For instance does D have the best approach to object 
oriented programming, or templates? Or any important set of 
features you care to mention? Are there things that C++ does 
better than D? How straightforward is it to get great performance 
from D? Is how do you 'tune' your D code for high performance 
obvious or well documented?

If the answers to any of the above questions is a negative for D, 
that's a serious problem if what you want to do is replace C++, 
because C++ is already a solid well know language and the 
competition from new programming languages is extremely tough, 
and because its only going to get easier to create programming 
languages this competition will get tougher.

To finish the Betamax story, when CD came along, people dropped 
cassette tapes like hot potatoes and DVDs killed VHS stone dead. 
Does D represent a similar leap from C++?

I'm not saying that D is Betamax. I'm just giving food for 
thought.


More information about the Digitalmars-d mailing list