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