3 ms·
> why it did not succeed? Don't you mean "why it has not succeeded yet?" To some extent, I'm inclined to ask what you mean by success. It's a great language,
by bachmeier 9y ago
> why it did not succeed?
Don't you mean "why it has not succeeded yet?"
To some extent, I'm inclined to ask what you mean by success. It's a great language, it has three compilers, it's making progress, and it's possible to have fun writing fast, correct code quickly. It's been more successful than any other language as far as I'm concerned.
Most likely you are asking why it hasn't seen widespread usage in the enterprise (like half of C++'s usage). That's a very high standard. Cost-benefit analysis usually leads to using established languages because there are benefits. D doesn't even have a very good IDE situation (I've been told), only recently got a package manager, etc.
- earenndil 9y agoEh, it only really has one compiler. DMD, LDC, and GDC all use the same frontend, they just interface to different backends (DMD, LLVM, and GCC).
- geezerjay 9y ago> Don't you mean "why it has not succeeded yet?" No, OP got it right. D had a shot at success while C++'s standardization process remained stagnant, and D could pick up the slack as it wasn't bound by backward compatibility requirements or the need to update a standard. Once ISO 14882:2011 was approved and C++'s standardization effort gathered speed, D lost the only competitive advantage and lost its chance at relevance.
- qznc 9y agoD is not dead. It is steadily growing. Not as fast as Rust for example, but still healthy. I agree that there was a nice opportunity before C++11. Now D is lurking in the shadows for another opportunity and slowly building. I believe D would be a great language for startups because it gives you options. You can do it quicky and dirty (like Python/Ruby/Perl), you can do it fast (like C/C++), you can do it safe (like Java, but not quite Rust), you can be generic and multi-paradigm (like C++), you can be easy (like Python).
- nicwilson 9y agoWhile C++ standardisation hay have gathered momentum, it still has enormous inertia (c.f static if, modules, ranges, attributes that were proposed for C++ that either failed to get in or are nowhere near as useful. I can't make do without any of those). The agility of D by by comparison is one of its greatest strengths.
- geezerjay 9y ago> While C++ standardisation hay have gathered momentum, it still has enormous inertia That's pretty much irrelevant. The last couple of standards already updated C++ so that it covered all aspects that were deal-breakers decisions on whether to pick up C++ or any alternative whose selling point was being an updated C++. After C++11 (and now C++17) no one in their right mind would decide to rewrite a whole project because of static ifs. Moreover the irrelevance of D is the only reason why it's trivial to reinvent D when it suits anyone's fancy. A committee of experts deciding on what goes into a standard is not the same as a developer deciding on a whim on what he might implement next. If D was relevant and it's adoption motivated an ISO standard to coordinate which features went into any implementation then I seriously doubt that it would do better than C++.