Having "blessed" 3rd party libraries may make D more popular and stable for building real software.
WraithGlade
wraithglade at protonmail.com
Wed Jul 2 18:05:46 UTC 2025
On Tuesday, 1 July 2025 at 19:30:35 UTC, monkyyy wrote:
> On Tuesday, 1 July 2025 at 18:06:28 UTC, WraithGlade wrote:
>> I am unfortunately however still very much a D newbie though
>> and thus I am very reluctant to depart from the mainline D
>> ecosystem considering that even less library support and
>> information will be available for Open D in all likelihood. I
>> want to make real projects for redistribution to end-users.
>
> adr is the largest lib writter; you could debate who's the most
> important one of those but by line count and attempted scope,
> adr does all the things and dub and upstream are dead to him
> unless you start paying; or something like that.
>
> There is still a large degree of compatibility(tho upstream may
> one day make a stupid breaking change) upstream isnt really...
> moving, these wild goose chases are just irreverent to code I
> write and mostly irrelivent to most historical libs; you cant
> slap @safe on old code without basically redesigning it or if
> you did and theres a break @safe change, afr is most likely
> willing to revert.
>
> You asked for shipping raylib; look:
> https://github.com/opendlang/d/tree/cleaning-up/source/odc/raylib
>
> its not shipping quite yet but if you were to do some cleaning
> and ask adr it probably be a week away; while I smashed my head
> into upstreams disinterest for years
That is *extremely alarming*. Thank you for this very helpful and
illuminating information!
I spent some of this morning reading and investigating deeper
into this, such as reading the original Open D announcement page
more carefully this time compared to the first time it was
alluded to and reading a few other related sources and forum
posts too.
I also found a link to [the contribution bar graph for the D
language over
time](https://github.com/dlang/phobos/graphs/contributors) and
indeed **the contribution rate to mainline D has plummeted to a
small fraction of once it once was, starting around ~2018 with a
precipitous drop and continuing to decline on average
thereafter** and now reduced to a small fraction of what it once
was.
In contrast, I was previously thinking that Open D was a nascent
fork whose influence would probably be mere diversification for
the next few years and that mainline D was likely still
reasonably healthy and probably even more so than some new
competing languages, but after looking into it more today the D
language seems far more imminently endangered than I thought.
Its current status as having 3 compilers and *seemingly* fair
viability for real work for the current set of libraries may be
mostly the result of preexisting momentum and signs of rapid and
existentially risky decay in light of this new contextual
information are quite clear now.
This information brings to light such a huge increase in the risk
factor of using D that I am now strongly reconsidering using the
language *at all*, especially given I want to ship *real
software* above all else. I cannot even expect that the most
important community libraries will have any new updates a few
years from now given the rapid rates of likely decay now apparent.
I may just accept working with a less performant and less
expressive language, even though I've invested a few months in
learning D (reading both books entirely and experimenting) and
was enjoying myself.
On Tuesday, 1 July 2025 at 20:58:33 UTC, Lance Bachmeier wrote:
> [...]
>
> This is once again D flexing its muscles as the all-time king
> of NIH. Just follow what other languages do. Install a package
> and then add it to your program the same as you do with Phobos:
>
> ```
> import std.math;
> import user.raylib;
> ```
>
> But I've wasted enough time pushing for this over the years.
> Other languages do it and D does it with Phobos, yet the main
> objection is that there's no way to do it.
>
> [...]
Yeah, the self-contradictory rhetoric of the notion that it can't
or shouldn't be done was striking me as quite odd. The fact that
several others (at a minimum) have had problems getting these
points across and have given up is (I am increasingly suspecting)
making me think I'm barking up the wrong tree entirely with D.
That's a shame, since I really would like a saner C++, but if
substantive progress and the survival of the language in terms of
relevance at large is really as hopeless as it seems then it
seems likely wise that I should leave D entirely before I
over-invest in an (apparently/probably) systematically rapidly
rotting ecosystem.
Maybe I'll check back on the language again a long while from now
though. Alas, such a shame... there is/was so much lost
opportunity for this language.
On Tuesday, 1 July 2025 at 21:00:02 UTC, Mike Shah wrote:
> [...]
>
> It's not a bad idea to have a list of libraries for different
> categories to help beginners. C++ has boost for example, which
> I have always seen as the first extension of the standard
> libraries that folks use and trust (and then often get
> incorporated into the standard library later on). I think the
> new phobos 3 as I understand is quite open to adding more
> modules anyway.
>
> At the least, having a list of popular dub packages would be
> useful as a test-suite for new builds of the compiler. Maybe
> that's the place to start by building a testsuite with a few
> popular dub libraries. If there isn't a wiki page already on
> this, that would be another value-add to the community I'm sure.
Yeah, that does seem like a reasonable strategy to at least make
some substantive progress.
On Wednesday, 2 July 2025 at 09:13:40 UTC, Dejan Lekic wrote:
> @WraithGlade
>
> "blessing" will not help it. - Quality will. If package is of
> good quality - it will automatically become "blessed".
The meaning of "blessing" a library in this context is literally
*making an official and regular effort to improve the quality of
important libraries and make them more seamless and usable for
real software, i.e. to increase the quality in all the senses
that library quality matters to users*. Thus, translating your
statement back into the actual meaning of the word "blessed" in
the context of this thread results in the following real meaning:
> [Making an official commitment to strongly improving the
> quality of the most important libraries] will not help [those
> libraries]. - Quality will. If [a] package is of good quality -
> it will automatically become [subject to an official commitment
> by the language development team to ensure the library(s)
> continue(s) to be of high quality].
Do you see how this is actually just a nonsensical tautology that
results in a blatant self-contradiction?
Frankly, this seems like exactly the kind of out-of-touch
circular rhetoric that has historically plagued these forums and
some parts of the D community (based on looking at prior threads
here and people's commentary in communities outside of D) and
seems likely to create the kind of muddled atmosphere that
prevents constructive change from happening.
I have noticed this unpleasant pattern before on programming
communities though, always with very harmful effects: confusing
the emotion of certainty with actual logical certainty born from
genuine logical reasoning.
Many programmers become so used to thinking of themselves as
being right because they know more than average non-programmers
and so adopt the posture of being in the right by default, but
context is everything and in reality nobody ever has an a priori
"rightness" that can ever be used as a real substitute for
genuinely thinking about a different idea when one encounters
such an idea.
Dejan Lekic's comment seems like a microcosm of why so many
people have become frustrated with D and have simply given up on
it since this kind of duplicitous rhetoric seems pervasive and
not amenable to change given that years of such attempts have
apparently failed. I previously just assumed that was because of
programmers being our usual salty and opinionated selves, but the
new evidence I've seen today suggests those criticisms hold
water. Why else would the contributions have decayed so rapidly
to almost nothing compared to much greater prior rates even just
a few years ago?
Also, putting the contribution graph aside, on the forums I have
noticed that older threads from just a few years ago likewise had
a much greater diversity of commentators but that too shows signs
of decline in recent years based on my impression.
It's safe to invest in a stable though only moderately large
language community, but not a rapidly decaying one.
If this is how it is then it seems I'd be insane to use D in a
real shipped project, even though I really wanted to.
Talk about snatching defeat from the jaws of victory... That's a
recipe for a language to have user adoption that essentially
behaves like a sieve: quickly losing users at the same rate or
faster than it gains them, leaking momentum and losing
opportunity constantly.
That being said, to end on a positive note: There's no denying
that many aspects of the D language are designed very well and it
has a really pleasant feeling as a C++ alternative.
I really hope for a better future in that regard, but I'm not
lighting myself on fire for it.
See you guys and gals around and best of luck in all your
programming endeavors!
Have a wonderful day/night/week.
If stressed out by these considerations, I suggest going on a
nice walk in nature. That always really helps me and nothing is a
better way to help ease one's thoughts and resettle or
recalibrate one's perspective.
More information about the dip.ideas
mailing list