Jump to page: 1 2
Thread overview
Continuation of `Having "blessed" 3rd party libraries may make D more popular` DIP thread
4 days ago
WraithGlade
4 days ago
monkyyy
4 days ago
Dennis
4 days ago
Mike Shah
3 days ago
Steve
3 days ago
Andrea Fontana
3 days ago
Andrea Fontana
3 days ago
Steve
3 days ago
Andrea Fontana
3 days ago
WraithGlade
2 days ago
monkyyy
2 days ago
WraithGlade
3 days ago
GrimMaple
4 days ago

As indicated by Mike Parker (a D forum moderator) at the end of the original Having "blessed" 3rd party libraries may make D more popular and stable for building real software. thread from the D improvement (DIP) subforum, further discussion of the topic is required to placed here in the general subforum instead.

Thus, since I created the original thread, I figured I should create the new thread here for anyone who still wished to comment on that thread. People might have waited for either me or a moderator to recreate the thread otherwise, hence it seemed polite to go ahead and make it on behalf of anyone still interested in that so as to not leave anyone waiting on it or confused about whether they could or should make their own thread resurrecting the issue.

So, here you are, for anyone who wants that.


Tangentially, here's also some side commentary of a more personal nature:

As for myself, I am not sure what the future holds.

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.

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.

I don't even know if the dependencies of many third party libraries are even in a form that can actually be shipped. It is hard to anticipate that in advance, so "jumping at shadows" or going by "feel" or "smell" (such as extrapolating based on whether a library's process seems easy and polished and well documented or not) seems like the strategy I have had to employ in making such estimates. There are many unknowns and there's no way of knowing in advance what will be genuinely usable and shippable in practice or not, since anything could have a hidden pragmatically unfixable problem lurking in it for all I know.

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.

Honestly, taking an even more personal note:

Being a "programming language dilettante" is sort of ruining my life. The cycle of indecision I've been trapped in for many many years has become a destructive pattern that has done more to harm me than almost anything else in my life.

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.

Yet, my personality is apparently so tightly wound that even though I have repeatedly told myself in my own mind and in countless vigorous notes to myself that the final outcome for end users is what really matters I still continue to be trapped in the cycle of indecision and hypervigilance directed at ensuring that my time is not wasted especially given how much time I've already wasted this way.

I feel like I am still waiting for my life as a programmer to begin, but instead have just been spinning in circles ad infinitum while a large part of my lifespan just has slipped away without actually doing any of the things I've intended to do and planned to do for my whole life in regards to software and such. I feel like I'm treading water and making no progress and even slipping backwards regarding some skills and knowledge from disuse.

I don't know what to do honestly.

I wish I could turn back the clock to when working in any programming language or system was pure joy and wonder and not just some amorphous sense of looming liability and risk, but here I am anyway, wishing for years that I could break that cycle of stagnation.

Do you know what I mean? Anyone else here been through the same struggle as a programmer?

To make matters even worse, this is no mere diversion for me. I'm not a hobbyist. I used to work in the AAA game industry briefly but I resigned from that many years ago thinking I'd easily make my own software and games but instead have been trapped in bizarre self-defeating seemingly perpetual indecision for years doing practically nothing real.

I did other things along the way such as working part-time to make ends meet of course and also wrote a couple books, but I seriously need to actually make income from what I program, yet instead I just can't seem to settle on a foundation that feels right and stable enough. That is my overbearing perfectionism in part, surely, but also other kinds of unease mixed in there.

Perhaps other members of the D programming forum (or even just of the whole programming community, independent of language) have also struggled with similar issues here.

What are your thoughts on how to deal with that as individuals and/or as a community?

Who else has struggled in these regards? Has anyone here overcome such self-defeating behavior successfully before?

What paths seem wise to take for those seeking better outcomes?

I know some of that is personal, but I have a feeling programmers of less known languages like here are fairly likely to find this relatable and so perhaps that is a good additional tangent to explore relative to the old thread, if people feel like it. Just throwing that out there as an option.

Anyway, I hope the best for everyone for our future, myself included.

I'm tired of the churn and feeling of always risking building on quicksand. I want what I make to last. I've got to find an effective path forward somehow, whatever it is. I'm not sure what that's going to be at this point though. Today has definitely been a big letdown for me, but that also isn't outside the norm for my pattern of unease and switching languages and approaches faster than I can get anything meaningful done for years on end...

Why I'm like that despite intending so very strongly to be otherwise and even knowing consciously that I am putting too much emphasis on language and tool ideology and not enough on just getting real outcomes created continues to elude me.

Regardless though, I bid you all a good night. Sleep well and thanks for reading.

4 days ago

On Thursday, 3 July 2025 at 02:21:46 UTC, WraithGlade wrote:

>

I don't even know if the dependencies of many third party libraries are even in a form that can actually be shipped.

Im fairly confident that raylib bindings will continue to be aviable in some form forever; they are mostly generated and the stuff on top like overloads airnt hard to meta program, theres like 5 forks.

Adr will continue adr-ing as far as I can tell, idk how he writes 1k lines a day, even if it isnt code Id write (and dirty secret its often oo), its an option; I ended up just using his file watching as is when I gave up untangling it. 5 lines of code and I had 1 of my wishlist functions api. I found another thru phoboes.

Dead code isnt that bad, it just means its your problem to fix bugs or more likely ignore the docs and test it like a black box, but its not going anywhere, you could even keep local copies.

>

community book

https://crazymonkyyy.github.io/blackmagic-in-d/

>

. 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.

It is whats there, im at the point where I prefer using compiler bugs that I know have been there for years(easily testable using dlang.io) over wontfixes (such as delegates)

Rust has its horror stories and c++ is c++; raw unbounded templates are not yet realized as the nessery next step for generic programming; people are chasing the oo or safety dreams. In d we have the simplest syntax and best compiler bugs; all while actually compiling fast.

>

Do you know what I mean? Anyone else here been through the same struggle as a programmer?

>

thinking I'd easily make my own software and games

https://monkyyy.itch.io/temp-whatevers

I has 70 repos

Im very unemployed

4 days ago

On Thursday, 3 July 2025 at 02:21:46 UTC, WraithGlade wrote:

>

Do you know what I mean? Anyone else here been through the same struggle as a programmer?
(...)
Perhaps other members of the D programming forum (or even just of the whole programming community, independent of language) have also struggled with similar issues here.

Hello,

Don't worry, this is a normal, maybe even necessary part of a programmer's journey. There's a talk I can recommend in its entirety, but the most relevant part starts at 11:07:
https://www.youtube.com/watch?v=89bLKVvF85M&t=667s

Transcript of the slide:

>

Typical programmer bottlenecks at various experience levels

  • Newbie
    • Syntax, tooling, logic
  • Beginner
    • Tech debt
  • Intermediate
    • Overcorrecting for the possibility of tech debt
  • Advanced

>

I wish I could turn back the clock to when working in any programming language or system was pure joy and wonder and not just some amorphous sense of looming liability and risk, but here I am anyway, wishing for years that I could break that cycle of stagnation.

Relatable as well. I used to just write code willy nilly, now I'm constantly pondering like: https://xkcd.com/1445/

>

What are your thoughts on how to deal with that as individuals and/or as a community?
(...)
Who else has struggled in these regards? Has anyone here overcome such self-defeating behavior successfully before?

I'm still struggling with similar problems myself, but what helped me so far is just writing real software for people. I've written 'generic/reusable' libraries under the guise of "this is going to make writing my actual software so easy!", but then building and testing software using that library revealed important parts were missing, and most of what is in there didn't end up getting used.

On the other hand, when I hacked together a C to D translation tool for the two C libraries I was translating at that time, it actually ended up being useful to others as well! That was a real eye-opener to me.

>

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.

Don't write a game engine / GUI framework, just write the darn game / application. You've already said this to yourself and I doubt me saying it is making a difference, but I don't know what else to say. 🙂 In addition, perhaps join a game jam. A big one coming up is the GMTK Game Jam 2025. I always get a rush of productivity and motivation in those 2-4 days, although admittedly, I lose most of that momentum after the jam is over unfortunately.

>

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.

I'm tired of the churn and feeling of always risking building on quicksand. I want what I make to last.

There's indeed a risk factor when using a more niche language like D instead of a more mainstream language. But a lot of your software robustness comes from how you choose to write it. If your code is full of mixin / __traits etc., then you are highly dependent on the D compiler and its development. But simple code like if (x > 0) x -= 2; has been stable across decades in multiple languages.

I had my doubts about D as well when I chose it as my 'next' language in 2018, but figured that since I considered using C, and that D has C's features and compiler backends, I could always transition back to C without too much hassly if necessary.

>

Anyway, I hope the best for everyone for our future, myself included.

The same, good luck!

4 days ago

On Thursday, 3 July 2025 at 02:21:46 UTC, WraithGlade wrote:

>

As indicated by Mike Parker (a D forum moderator) at the end of the original Having "blessed" 3rd party libraries may make D more popular and stable for building real software. thread from the D improvement (DIP) subforum, further discussion of the topic is required to placed here in the general subforum instead.

Thus, since I created the original thread, I figured I should create the new thread here for anyone who still wished to comment on that thread. People might have waited for either me or a moderator to recreate the thread otherwise, hence it seemed polite to go ahead and make it on behalf of anyone still interested in that so as to not leave anyone waiting on it or confused about whether they could or should make their own thread resurrecting the issue.

So, here you are, for anyone who wants that.


Tangentially, here's also some side commentary of a more personal nature:

As for myself, I am not sure what the future holds.

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.

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.

I don't even know if the dependencies of many third party libraries are even in a form that can actually be shipped. It is hard to anticipate that in advance, so "jumping at shadows" or going by "feel" or "smell" (such as extrapolating based on whether a library's process seems easy and polished and well documented or not) seems like the strategy I have had to employ in making such estimates. There are many unknowns and there's no way of knowing in advance what will be genuinely usable and shippable in practice or not, since anything could have a hidden pragmatically unfixable problem lurking in it for all I know.

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.

Honestly, taking an even more personal note:

Being a "programming language dilettante" is sort of ruining my life. The cycle of indecision I've been trapped in for many many years has become a destructive pattern that has done more to harm me than almost anything else in my life.

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.

Yet, my personality is apparently so tightly wound that even though I have repeatedly told myself in my own mind and in countless vigorous notes to myself that the final outcome for end users is what really matters I still continue to be trapped in the cycle of indecision and hypervigilance directed at ensuring that my time is not wasted especially given how much time I've already wasted this way.

I feel like I am still waiting for my life as a programmer to begin, but instead have just been spinning in circles ad infinitum while a large part of my lifespan just has slipped away without actually doing any of the things I've intended to do and planned to do for my whole life in regards to software and such. I feel like I'm treading water and making no progress and even slipping backwards regarding some skills and knowledge from disuse.

I don't know what to do honestly.

I wish I could turn back the clock to when working in any programming language or system was pure joy and wonder and not just some amorphous sense of looming liability and risk, but here I am anyway, wishing for years that I could break that cycle of stagnation.

Do you know what I mean? Anyone else here been through the same struggle as a programmer?

To make matters even worse, this is no mere diversion for me. I'm not a hobbyist. I used to work in the AAA game industry briefly but I resigned from that many years ago thinking I'd easily make my own software and games but instead have been trapped in bizarre self-defeating seemingly perpetual indecision for years doing practically nothing real.

I did other things along the way such as working part-time to make ends meet of course and also wrote a couple books, but I seriously need to actually make income from what I program, yet instead I just can't seem to settle on a foundation that feels right and stable enough. That is my overbearing perfectionism in part, surely, but also other kinds of unease mixed in there.

Perhaps other members of the D programming forum (or even just of the whole programming community, independent of language) have also struggled with similar issues here.

What are your thoughts on how to deal with that as individuals and/or as a community?

Who else has struggled in these regards? Has anyone here overcome such self-defeating behavior successfully before?

What paths seem wise to take for those seeking better outcomes?

I know some of that is personal, but I have a feeling programmers of less known languages like here are fairly likely to find this relatable and so perhaps that is a good additional tangent to explore relative to the old thread, if people feel like it. Just throwing that out there as an option.

Anyway, I hope the best for everyone for our future, myself included.

I'm tired of the churn and feeling of always risking building on quicksand. I want what I make to last. I've got to find an effective path forward somehow, whatever it is. I'm not sure what that's going to be at this point though. Today has definitely been a big letdown for me, but that also isn't outside the norm for my pattern of unease and switching languages and approaches faster than I can get anything meaningful done for years on end...

Why I'm like that despite intending so very strongly to be otherwise and even knowing consciously that I am putting too much emphasis on language and tool ideology and not enough on just getting real outcomes created continues to elude me.

Regardless though, I bid you all a good night. Sleep well and thanks for reading.

I forgot to mention in the other thread that perhaps an actionable thing would be to again check this page out or perhaps update it in regards to new libraries: https://wiki.dlang.org/Libraries_and_Frameworks

I think the greater discussion is to your bottom point however, about worrying about investing a lot of time/energy/code to D.

>

I want what I make to last.

The D compiler being open source, and having the LDC and GCC backends means D is here to stay. Learning D and spending time with the language will not go to waste . An exercise metaphor might be that of 'cross-training' -- spending time biking will help you with running and vice versa. But I think with programming it's even more direct a benefit. I have some talk about this with D and C++ here as some proof (https://www.youtube.com/watch?v=CnKsOak0DHU&t=1s).

Skills learned in D transfer quite well to a range of C, C++, Java, and newer and older languages are still catching up with D. I was playing around with Mojo most recently, and many of the same language ideas that are worth understanding are available in D. D does a really nice job of having many features work harmoniously -- it's something not all new languages get quite right, and the older languages aren't able to achieve for backwards compatibility reasons. It's certainly interesting how the aesthetics of code influence how motivated you are to write code in that language (and aesthetics are of course subjective and change over time, so to each their own when it comes to picking a favorite language, whether that is D or something else).

I also very much like to think of knowing other languages that aren't in the say 'top ten' list of TIOBE (for some metric) as a competitive advantage -- not a weakness :) Whenever I'm in a position to hire and I see someone has ventured outside of standard languages taught in school, that's a big indicator that person really cares about exploring/expanding their craft (i.e. they enjoy programming, and probably because they enjoy it, they will spend more time improving/working on their skills!). It always makes for an interesting discussion when asking folks why they're learning some new skill, etc.

Some other random note: If it's also helpful, the OpenD, Snazzy D Compiler (SDC) are examples of other D compilers/projects/extensions to show that the language itself has staying power.

Another random note: Try to give yourself some small projects. e.g. Build a raytracer in a day (sounds like you have some game/graphics experience), build a small game, set a clock for 1-hour and write a tutorial for some topic, etc. These small little projects add up to big wins and motivation over time :) Good luck!

3 days ago

@WraithGlade
You seem to be suffering from analysis paralysis. Maybe if you're that nervous about your choice of programming language you should stick to Python or Java that are very widely used and not going away any time soon.

As for nominations for "blessed" third-party libraries mine would be ddbc and serverino, I wouldn't be using D if they didn't exist.

3 days ago

On Friday, 4 July 2025 at 07:54:43 UTC, Steve wrote:

>

As for nominations for "blessed" third-party libraries mine would be ddbc and serverino, I wouldn't be using D if they didn't exist.

Thanks! Since serverino is, by nature, probably used mostly in private projects, it's always hard for me to tell how many people actually use it - especially since those projects don’t show up on GitHub. Every now and then someone mentions it and it always surprises me :)

It would be great to have a way to understand how many people actively use a given library. That kind of insight could help motivate further development, even without donations or other support.

Andrea

3 days ago

On Friday, 4 July 2025 at 10:00:47 UTC, Andrea Fontana wrote:

>

On Friday, 4 July 2025 at 07:54:43 UTC, Steve wrote:

>

As for nominations for "blessed" third-party libraries mine would be ddbc and serverino, I wouldn't be using D if they didn't exist.

Thanks! Since serverino is, by nature, probably used mostly in private projects, it's always hard for me to tell how many people actually use it - especially since those projects don’t show up on GitHub. Every now and then someone mentions it and it always surprises me :)

It would be great to have a way to understand how many people actively use a given library. That kind of insight could help motivate further development, even without donations or other support.

Andrea

(I'm also really curious to know what kind of projects my libraries are being used in!)

3 days ago

On Friday, 4 July 2025 at 10:02:51 UTC, Andrea Fontana wrote:

>

(I'm also really curious to know what kind of projects my libraries are being used in!)

A json-rpc application server.
Serverino sounds like it was named by Ned Flanders but it ding-dong-diddily-does the job ;-)

I'd actually really like SQLite3 to be part of D's standard library, then I could forego ddbc.

3 days ago

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)

3 days ago

On Friday, 4 July 2025 at 14:34:46 UTC, Steve wrote:

>

On Friday, 4 July 2025 at 10:02:51 UTC, Andrea Fontana wrote:

>

(I'm also really curious to know what kind of projects my libraries are being used in!)

A json-rpc application server.
Serverino sounds like it was named by Ned Flanders but it ding-dong-diddily-does the job ;-)

I'd actually really like SQLite3 to be part of D's standard library, then I could forego ddbc.

Actually the -ino suffix in italian means "small". So it sounds like "small server" :)

Andrea

« First   ‹ Prev
1 2