Why is D unpopular?

Chris wendlec at tcd.ie
Fri Apr 29 10:40:52 UTC 2022


On Tuesday, 2 November 2021 at 17:27:25 UTC, Dr Machine Code 
wrote:
> It got [asked on 
> reddit](https://www.reddit.com/r/d_language/comments/q74bzr/why_is_d_unpopular/) sub but for those that aren't active too, I'd like you opinions. Please don't get me wrong, I also love D, I've used it everywhere I can and I'd say it's my favourite language (yes I have one...) but I'm as as the reddit's OP, trying to understand why it's unpopular. Rust and Go seeming to be getting more and more users. I think it's due to large ecosystem and the big corporations with deep pockets that pushes them. But I'd like to know you all opinions

Two things:

1. This question keeps popping up. There must be a reason.

2. On reddit, a poster wrote:

"D was used as a POC to show some of the functionality proposed."

I don't know to which extent this is true, but D is certainly 
more of a research than a real world language. What galls 
ex-users is that this is not communicated clearly to newcomers. 
Instead, you have to get deep into D (which, in fairness, has its 
merits, because you learn a lot) before you realize that your 
projects will forever be hampered by D's shortcomings. Same 
shortcomings are never really addressed because D is, at its 
core, a CS research language (which is slowly losing its edge 
over mainstream languages like C#, C++ etc.). The language should 
not be sold as production ready. I remember the "update lottery" 
whenever a new version was available: will it break my code or 
not? This is a situation you find yourself in with languages that 
are below 1.0 and then you know what you're in for. However, D is 
already 2.+. The only explanation is that in reality D is still 
at a stage that is below 1.0. I've been an early adopter with 
some PLs and one OS, it's always a bit of a gamble and it takes 
some effort. However, those PLs and the OS have matured and 
stabilized. D never ever matures or stabilizes, it just goes on 
and on and on being between 0.1 and 0.9. This made it impossible 
for me to create real world applications. Apart from making my 
work unnecessarily difficult, how could I justify the use of an 
eternal 0.x language to superiors and users? break (D) { switch; }








More information about the Digitalmars-d mailing list