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

Guillaume Lathoud gsub at glat.info
Sun Apr 14 10:25:03 UTC 2019


On Friday, 12 April 2019 at 07:35:05 UTC, Tofu Kaitlyn wrote:
> Sorry for that title, but this is something I have been 
> thinking about for a while...
>
> I honestly feel like D is a failure. I kinda just wanted to 
> vent about it and see what other people think.
>
> I have been using D since around 2012 or 2013, instantly fell 
> in love, use to post on the forms a lot under the name Tofu 
> Ninja. I was convinced D was the future but since then I have 
> become disheartened. The biggest thing that makes me feel like 
> this is that in the 7 years I have been using D I literally 
> have never met another programmer IRL who has even heard of it. 
> I put on my resume that I like D and every interview I get 
> asked about it, having to explain what D even is because they 
> have never heard of it. I have never seen a job posting listing 
> D. Never see any projects pop up on /r/programming using D. It 
> feels like to the rest of the programming universe, D doesn't 
> even exist. Sometimes I see threads on reddit like "what's your 
> favorite programming language" and I always look for D but 
> never find it.
>
> And honestly I don't think that is going to change. I feel like 
> D has failed.
>
> I duno... what do yall think? Is D going to somehow explode in 
> popularity in 5-10 years? Am I missing some part of the 
> picture? Or am I right and if so what can be done about it?

That lack of popularity, combined with the lack of corporate 
backing, may precisely be what allowed D to exist at all, as it 
is. I personally enjoy D both for paid work and for private 
projects.

Maybe there is a psychological explanation for the debate here - 
please bear with me - just speculating:

  * once the D beginner passed a few obstacles (how do I get a 
decent stack trace?)...

  * ...and enjoyed the full power of D's core features for a few 
years (runtime performance and stability, combined with high 
expressiveness, especially sprinkled with a limited amount of 
CTFE code, here and there)... pure bliss, probably where I am 
at...

  * ...things are going so smooth that tolerance to frustration 
steadily lowers, without one noticing it...

  * ...then the D user hits the "things-that-break-all-the-time", 
mostly more advanced features, and suffers, especially because of 
the blissful experience enjoyed so far, so that he takes the time 
and energy to complain here - actually a positive sign - instead 
of silently leaving the D community.

On the other side, Walter & Andrei point the lack of manpower, 
one cannot just complain and expect something to change. But 
since this type of debate pops up every now and then on the 
forum, there may well be some part of truth in it.

I warn against forking D - the already limited manpower would 
fragment, and most likely the result would be something like the 
LISP family of language, great fundamental expressive power, but 
many groups of people reimplementing everything from scratch, 
each group using its own variant.

My two cents of what could be possible on the short term, with 
limited amount of work:

(1)

Keep complaining! I mean it. But then please take the time to 
split into precise complaints, e.g. for each precise topic, write 
a text precisely describing the complaint on GitHub or similar, 
at best with a few suggestions for remedies, then point at it 
here, and see how many stars it gets.

This requires zero work from D's main contributors, only from the 
complainers, and does not clutter D's issue tracker, and could 
help to see how popular each specific complaint is.

(2)

On the other side it could be worth considering marking 
*language* features as experimental - or if it is already done, 
making it more obvious. When I look in Google for "dlang 
experimental features", I get mostly library stuff, not language 
features:
https://www.google.com/search?hl=en&q=dlang%20experimental%20features

This would help a lot in the context of long-term paid work, to 
decide whether to use a particular language feature of D, or not.


On the longer term, I see two things that would really help:

  * compilation that takes more advantage of having multiple cores,

  * more recurring sponsoring for the D fondation, without strings 
attached.

I hope this helps,
Guillaume


More information about the Digitalmars-d mailing list