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