Continuation of `Having "blessed" 3rd party libraries may make D more popular` DIP thread
GrimMaple
grimmaple95 at gmail.com
Fri Jul 4 15:11:25 UTC 2025
On Thursday, 3 July 2025 at 02:21:46 UTC, WraithGlade wrote:
> I am very tired of drifting from programming language to
> programming language over the years always trying to find a
> reasonable balance of factors (both expressive and native-level
> performance, etc... vs sometimes thinking I'll just disregard
> that and focus on just expressiveness or just project
> completion pragmatism) and D has looked for the past few months
> like that language but I have become much less sure of that in
> light of some of the things mentioned in the original thread.
This is how I initially ended up with D myself, trying to figure
out a better way
to write software than C++. I've been using D for 5+ years now,
and I'm still using
it (well, I rather switched to OpenD actually) for my game
development. But when I needed
to make a small build system for building embedded C++ projects,
I made it in C#. That
should tell you enough to understand my view on the future of D :)
> Even if the precipitous drop in contributions to D is isolated
> to the Phobos standard library, there still seem to be reasons
> to be wary. In particular, it still remains unclear whether the
> language and library ecosystem is a stable base to build upon
> for real software, which remains the central concern.
Having done that, I would tell you straight away: no. If you want
to start building Real™
Software in D, you'll most likely end up absolutely __having__ to
contribute to multiple
3rd party project, or building a significant part of low-level
libraries yourself. For me,
it was adopting dlangui (I still keep maintenance of it, if you
file a PR I'll be more than glad to accept it). It also
inevitably forced me and Adam to create OpenD, because
upstream D had very little care to anything non-compiler related.
You could see D as
a language primarily designed to make a D compiler.
> Credit where credit is due: doubtlessly D has had lots of
> wonderful work put into it and is very worthy of admiration and
> wider use. I want/wanted to believe in it and intended to build
> out my own tools for both a game dev idea and an art software
> tool idea in it (plus miscellaneous personal scripting and
> utility use), and perhaps even a simple reusable open source
> GUI engine or a community book eventually if all went
> especially well, but I am not sure what to think anymore in
> that regard.
That being said (and being _true_), D is rapidly falling behind
in terms of available
tech. C++20 added modules, for example. Since a few releases
back, C# is able to compile to __native code__. Yes, it can
compile to native code, without tucking behind a .NET library or
JIT. So if you want a natively-compiled language with GC (which
is why I personally selected D), you can now use C#. The world
has gone so mad that you can actually __link-in C libraries__ to
your natively built C# application. So the available reasons to
use D are shrinking, as well as D's developing momentum is
shrinking too. Now, C# is still far behind on manual memory
management, and there is no real way to have any true NOGC code,
C#'s GC has been improved to a point where it's not a performance
issue at all, especially if you allocate objects wisely.
> I have squandered practically the entire past decade just
> running in circles switching between different programming
> languages and reading countless programming language tutorials
> and books and messing around in them in aimless ways and
> basically hardly creating anything real or substantive. That's
> not the life I wanted for myself, nor is it even a responsible
> way of living for me at this point given how much time I've
> lost doing that.
I don't think you should be going too hard on yourself for this.
Yours truly done this too, and nowadays can use 5 or 6
programming languages reasonably well. It accumulates general
experience, general knowledge, and fixes your brain from thinking
in one language's paradigm. Look at D or C++ users for example --
they keep on battling manual memory management, when 95% of the
world runs GC. Isn't it just a sign of idiocy on their side? :)
After all, it doesn't matter what language you use to make your
software, it's what software you end up making that matters.
> I don't know what to do honestly.
Start making software instead of choosing the Perfect Language.
It doesn't exists (maybe it's C# actually)
More information about the Digitalmars-d
mailing list