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.

Reply via email to