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