Why is D unpopular?

harakim harakim at gmail.com
Tue Nov 2 21:11:12 UTC 2021


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

I left a long response on that, but I guess I can add one here.

tldr: it's not stable, there aren't many libraries for it, there 
are few standard tools, you can't find answers to other people 
who had the problem you're currently having and the alternatives 
are not that bad.

What is the mindset of someone investigating D? Are they trying 
to learn about D or are they trying to find a solution to some 
problems they either have or expect to have?

So right out of the gate, they probably aren't coming to D. They 
are searching in a search engine and finding Rust, Nim, etc, if 
they are looking for something low level. They are probably also 
finding that C++ is popular and what is used the most. For web 
development, it's Java, PHP, C#, and Python (and we can say Ruby 
so those people don't feel bad.) They will even find Go.

If they manage to find D and decide to evaluate it, imagine their 
experience as contrasted to other languages. Type learn d 
programming into google and you'll get a tutorial that says they 
already need to know how to program and "You just need to have a 
basic understanding of working with a simple text editor and 
command line." I think at that point, a lot of people say "this 
isn't for me."

The second hit is the d language home page. When you go to the 
homepage, it shows download language, an editor that people who 
already know D can use and a donation button. Very small in the 
off-screen section, you will find a tour. This is fine for Java, 
which people have to use and which people learn in school. It's 
not fine when you're trying to get people interested.

The third link is a sub link and is the tour. Now the tour starts 
with a wall of text and many language options, none of which is 
English. It also doesn't really tell you how to set up your 
environment. It says you don't need an IDE, but you can use one 
if you want. The next thing it shows is the command line. I'm not 
saying this tutorial is that hard to follow, especially if you 
already use the command line and know about programming, I'm just 
saying it's 4 pages in and probably 20 minutes if you really read 
through and there is no pay dirt yet.

Contrast that to Ruby. For me, the first link is code academy, 
the second link is: 
https://www.ruby-lang.org/en/documentation/quickstart/. It's the 
official ruby page and it's still pretty decent. It gets almost 
straight to the action.

I think that is one series of barriers to entry. People may not 
even get to the point where they try the language. Those are the 
main barriers.

Once you get in, though, there isn't really a coherent way to 
move forward with projects. There are not a lot of tutorials with 
a result of a working piece of software, there are not a lot of 
projects or libraries. Most of the libraries you find are no 
longer maintained. So you have to do a lot from scratch. To be 
honest, this isn't as big of a deal as in other languages, 
because you have low-level access through the standard library, 
you can use C libraries and it's quicker to build a library than 
in other languages. But it's not nothing.

When you get tripped up, you can't find examples in D or answers 
to your specific problem on stack overflow.

The language changes in non-backwards compatible ways. If you're 
a casual user, you probably won't notice these changes being 
announced. You'll just notice when you have to update your D 
compiler 30 versions for a library. It will compile the library, 
but it doesn't compile *your* code anymore.

At some point, I think most people who have used D have asked: is 
it worth it? I mean, you can just switch to another language that 
might be a little inferior but it has tons of libraries, tons of 
tutorials, and you know something like C# is going to be 
backwards compatible.

I will not have any of those problems with Java or C# and 
probably not with Python. At some point, I just have to say "What 
am I trying to accomplish, and is D essential to that?" I think a 
lot of people decided it was not.

I do think there is a path for D to become a major programming 
language, but it would need to change course a little. I don't 
know if that is worth it to the people who work on D.


More information about the Digitalmars-d mailing list