Why is D unpopular

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Tue Jun 14 08:30:37 UTC 2022


On Tuesday, 14 June 2022 at 07:34:32 UTC, bauss wrote:
> D is honestly a mess compared to when I first started using it 
> over a decade ago, back then it was simple and you could easily 
> do something in it.

It is my viewpoint that D would have been more successful if it 
had chosen to be simple system level language without 
GC/templates and instead focused on high quality builtins and 
high level optimizations… but that ship has sailed for sure!?

Rust is taking that space, except it isn't all that convenient. I 
don't have much belief in Zig and the other newcomers… C++ is 
just too far ahead at this point for me to view minor system 
level languages as interesting. And by not being interesting, I 
mean that I am not even willing to download and give them one 
spin…

There is also much less need for system level programming today 
than 10 years ago, so it is a shrinking market with more 
competition… Only 2 or 3 can succeed in building an eco system in 
that space and also reach an acceptable level of portability 
(full support for various hardware, iOS, Android, compilation to 
FPGA, etc).


> D was on the path to greatness, but no more. It's spiraling 
> down a bad path and it's honestly sad. It had so much potential 
> and I'm not sure it'll ever recover.

Depends on SDC, if SDC implements the core language and don't 
sacrifice compiler internals to support other cruft then I guess 
you could attract compiler devs that would evolve it into a clean 
slate D3.


> The only way for D to ever succeed would be to start D3 ASAP 
> and start by figuring out how to get rid of the attribute soup 
> etc. because all it does is adding clutter and clutter is what 
> makes a language difficult to use.

You could reimagine D3 as a high level language with the 
possibility of going system level. If you design from that angle 
then all the clutter will vanish as you cannot tolerate clutter 
in a high level language design.

Clutter in D has for the most part been added in the name of 
"system level".

(Which is a bit odd, because system level programming is even 
more in need of clean simplicity due to the drastic consequences 
of making a misstep.)


> C++ wasn't hard because of the technical stuff, but because 
> there's a lot of clutter in the language with templates etc. 
> IMHO.

Well, there isn't all that much incomprehensible clutter in C++ 
anymore if you want to avoid it, but you still have to deal with 
"evolved surprises", so it isn't easy for beginners.

C++ cannot become acceptable for high level programming though, 
as it has a heavy focus on enabling compiler optimizations. As a 
programmer you have to focus heavily on the correctness of your 
code, rather than relying on wrongdoings being caught. That makes 
C++ unsuited for evolutionary programming. You basically need a 
design before you code in C++. So C++ is not a good alternative 
for D programmers who like to experiment and prototype.



More information about the Digitalmars-d mailing list