Has D failed? ( unpopular opinion but I think yes )

burjui bytefu at gmail.com
Fri Apr 19 14:28:26 UTC 2019


The general feeling I get about D management is that it has 
brains, but lacks balls and focus. The typical response to that 
is: "Yeah, well, we are a community-driven project, we cannot 
order anyone. We are not obliged to do anything particular, so we 
do what we feel like doing. So if you want something particular 
to be done, go and do it yourself."

Surely, what you, the "community", mean is "actions speak louder 
than words". What you forget is that it also applies to you. Your 
actions are all over the place. I am especially disappointed with 
Walter. He might not like that, but as the creator of D and, 
admittedly, the biggest compiler expert here, is considered the 
king of D, with ultimate authority, power and knowledge. 
Ultimately, D is his child, and he bears responsibility for its 
future. But he wants to abstract himself from that and be seen as 
just a part of the community, not as a figure of authority. At 
the same time, he has strong opinions on certain topics (bugzilla 
issue 2043 comes to mind) and it does not seem that it would be 
productive to even create PRs for those, as they are not likely 
to be accepted. That is very convenient: "I don't want to be in 
charge and do what is needed rather than what I like 
(refactoring, C++ interop, custom codegen that nobody really 
needs because LLVM and whatnot), but I also know better what 
should and what should not be done with the language". It is too 
late, though, many people have invested too much in D.

The overall impression I get from D community efforts can be 
visualised as patchwork: you can patch as many holes as you want, 
but it does not change the fact that the fabric itself is weak. 
There should not be 3 different compilers, all managed by 
different parts of the community. Soundness bugs should be fixed 
first and foremost. There should be clear idea out there of what 
D should be: not a bunch of cool half-baked features merged into 
a language, but a solid language with concrete goals.

People here do not like to hear about Rust and often throw cheap 
jabs at it (like, ooh, ugly syntax and lifetimes), but it's a 
perfect example of what a language should be: a solid foundation, 
not a mine field with candy trees. Yeah, it has corporation 
support, but it's not the key to its success. The key is 
principles and determination. These guys are focused, concerned 
about language soundness and are willing to do research and hard 
work to ensure, that the sole Rust compiler is as good, as it can 
be practically. The only times rustc crashed or produced bad code 
were when I was using nightly. And it still happened less 
frequently than with stable DMD. Obviously, Rust's support for 
CTFE is still limited and const generics are not there yet, but I 
can live without them for now, because the lion's share of code 
does not benefit from them. What matters is what they have works 
great. Oh, and it also works on Cortex-M3 like a charm, I wish I 
could say that about D.

I have been a D fan for more than 10 years, but I had to stop 
using it. And if it sounds like I am talking about drugs, it 
should be. Now, looking back, I cannot justify all the time and 
effort I spent on it.


More information about the Digitalmars-d mailing list