Why is D unpopular?

harakim harakim at gmail.com
Wed Nov 3 06:08:57 UTC 2021


On Tuesday, 2 November 2021 at 23:47:42 UTC, Dukc wrote:
> Not saying your theory is wrong, but I'm not going to put much 
> weight on it and neither should anyone else, unless you can 
> show some research you're basing your opinions on. And that 
> applies to all forum theories about subjects like this.

> As if something else was suggested. We are not talking about 
> whether we wish to answer questions about language adoption, we 
> are talking about how they can be somewhat reliably answered, 
> if at all.

Let me share my credentials with you. I am a human and a 
developer. I have been one for some number of years. I interact 
with humans who are developers on a weekdaily basis and have done 
so for over a decade. I guess you could call me a world expert on 
humans who are developers.

As a world expert on humans, I have noticed that humans don't 
really like uncertainty. As a human developer who works with 
developers, I have noticed that human developers aren't super 
interested in sinking a bunch of time into something that will 
not provide lasting value. They look at the long-term/Big-Oh 
value as opposed to the immediate gratification when it comes to 
development projects.

Based on those two concepts, and virtually ever post I have ever 
seen about why people leave D, I can come to some conclusions:

1. There is uncertainty in D. Where is it going? Is it going to 
support the things I like about it in the future? Is it going to 
grow? Is it going to die? Will I be able to find an answer to a 
question that comes up? What IDE should I use? Does it matter 
which compiler I use?

2. People are not sure their investment in writing D programs is 
a secure investment. Will your code still work in a year? Will 
the language exist in a few years? Are the maintainers going to 
make some crazy non-backwards-compatible decision that will ruin 
my application? Will the library I am using go away?

You could call what it lacks a vision. I don't mean a vision that 
spells out where the language is going or what it's good at, 
although that can be part of a vision. I think people can accept 
very little vision if they have some guarantees - some things 
they can hold on to and make decisions around. These are the 
guarantees which most people like and which are provided by most 
popular languages, like: tools will be maintained and fixed if 
there is an issue, libraries for common tasks will be maintained 
and available, the language will remain backwards compatible, you 
can quickly get answers to your questions from a number of 
sources.

I also think people see a language that is 20 years old with the 
toolset and libraries it has and assume that this is all the 
progress that has been made and that progress must be slow. They 
may not know about all the corpses of libraries and tools strewn 
along the way. They might think this is it. That is just 
speculation, though.

If you want to know what people think, I can see two good ways to 
do it.

The first is to just think of all the reasons to use D. Then 
think of a specific type of user who those reasons to appeal to. 
Now ask them to use D and see what they say. Repeat. Do the 
reasons appeal to them? Do they make up for the unappealing parts 
of the ecosystem? You can also do this as a thought experiment.

The second is to find repos in the d language that haven't been 
maintained in a while and reach out to the users and ask them why 
they left.

In the end, the question is does this solve a problem people have 
and does it solve it in a way that another tool doesn't? In some 
sense, yes, but what do you have to give up to get those gains? I 
think the answer is pretty obvious and it's the reason D is what 
I always consider first, but not what I usually use.


More information about the Digitalmars-d mailing list