digitalmars.D - D needs to learn from competing languages and ecosystems.
- Claudio Constantin (116/116) Sep 15 Hello!
- Dennis (21/33) Sep 15 Thanks for your perspective.
- Claudio Constantin (34/67) Sep 15 Thank you for your response.
- Serg Gini (3/4) Sep 15 Dennis, you may be interested in this. One user prepared with LLM
- Sergey (45/110) Sep 15 Hi there!
- Claudio Constantin (11/69) Sep 15 Thank you, I see there's more than meets the eye.
- Serg Gini (5/9) Sep 15 Yeah, community is aware of tooling importance.
- Dejan Lekic (13/17) Sep 15 My view is completely opposite - I think D has almost everything
- Claudio Constantin (6/23) Sep 15 It's a small and opinionated community with a mission.
- Lance Bachmeier (24/28) Sep 15 I'm just a user of the language offering my opinion. I started
- jmh530 (16/31) Sep 15 People using tools like this is a great opportunity for D. I
- Lance Bachmeier (12/20) Sep 17 Fewer people might be reading code (though given the increase in
- jmh530 (9/23) Sep 17 Good points.
- user1234 (11/23) Sep 16 I think that your analysis, your raw and honest "soul verbatim"
- strawberry9 (19/24) Sep 26 Your perspective is interesting. My perspective is the complete
Hello! I want to express my genuine interest in learning D as well as the friction I'm facing in doing so, and at the same time, relay my thoughts on what I believe would improve adoption. First, a bit about myself so you can understand where I am coming from. I started programming during the Covid era because there was nothing else for me to do. I'm 25, so nowhere near as experienced as many of you here. Despite that, I want to write this to try and share my perspective on things I have seen evolve. Lady Luck smiled and I got a job as an Android dev, so most of my not-so-long career has revolved around Java, and now we're migrating to Kotlin/Jetpack Compose. Since then I have explored more programming topics and languages, because for me it's fun. It's fun to learn and do things. It was inevitable to not hear about Rust a couple years ago, but then I tried it and fell in love with it. Admiration towards Rust is often attributed to the language design, which is fair. However, I don't think its popularity exploded because of how good the language was, but because of how complete the experience was. Cargo, rustfmt, rust-analyzer, clippy, MIRI, rustdoc... everything provided in one package, under the Rust Project umbrella (rust-analyzer wasn't originally part of it, it is now). This meant that with one VSCode extension and a shell command, you could get a DX experience that would later set the standard for expected language tooling. Rust wasn't the only language providing a batteries included experience, Golang and Dart (the DSL for Flutter) also provided a frictionless pipeline. One can argue that Dart never took off, but both Rust and Go did, and while the *languages* themselves were good, I doubt their adoption would have been as good weren't for their complete toolchains. Newer projects like Zig or Odin, competing with Rust, C(++) and D, have taken stances that hinder their growth. I'll only focus on one part that I believe is crucial, the language server. Zig has ZLS, but the Zig foundation refuses to adopt ZLS as an official project. Despite Zig being an interesting language, the language server is underwhelming in capabilities and understanding of codebases as a whole. This type of friction actively hurts adoption and is an issue that must be addressed with urgency. The Zig Software Foundation relies on Zig doing well monetarily, and to me, this feels like self-sabotage. Crystal, another very cool project, is suffering from low adoption due to bad tooling. The Crystal compiler was written in a way that never considered the importance of such tools. Writing an LSP for Crystal isn't easy; therefore, Crystal has a lot of friction. I could go on and on about this, but the point should be clear by now. If a language wants to increase adoption, the experience must be batteries-included. I have mentioned D competitors. However, other projects are starting to realize the importance of an owned toolchain, notably Kotlin, originally developed by JetBrains, has been taking steps to provide an official LSP, an official formatter and now an official build system (Kotlin Toolchain). Same with Swift, developed by Apple. Swift went from a language that required specific hardware to even use to a (semi-)complete experience one can download with `winget install Swift.Toolchain`. These decisions aren't made in a vacuum, and at first seem like bad financial decisions, as one company sells IDEs, and the other sells hardware. Truth is, no one wants to use a closed source language, and no one wants a bad, slow DX. Python and JavaScript tooling went from slow and all over the place to focused and fast. Projects like uv, ruff, ty/pyrefly and Deno, Bun, oxc/biome, tsgo over the JS side were created out of necessity, and a realization that yeah, this is pretty bad. D is in an interesting position, it isn't as bad as Zig or Crystal, but not as good as Rust or Go. I could compare it more to something like dotnet. But dotnet is working towards a better experience, their official LSP is publicly available (but it is in prerelease), and `dotnetup` is another official project, similar to rustup, that acts as an entry point to the language. What I think D needs: - Toolchain manager, its own version of uv, rustup, dotnetup, bun. - An official LSP, owned by the Dlang project, developed in tandem with the compiler that should be easily managed. - A tree-sitter parser, or at least adopt a community one, it is expected to have one nowadays. - Extensions for popular code editors and IDE. - An official book you can read online, both Rust and Go provide their own. The items on this list aren't easy to develop and maintain, and there's a real cost, human and economic, behind each of them. Do I think D could become the most popular programming language in the world if these things were done? No, I'm not that naive, but I'm 120% sure that interest would skyrocket. D stands as a saner alternative to C++, which is why it interests me (and many others) in the first place. By simply being a tinkerer and trying things out, I have seen the patterns that both successful and unsuccessful projects follow, and that's the conclusion I came to. It is vital to attract that silent majority who had (or will have) an interest in D, looked at it and said "meh, not worth it". They might install a compiler, try and use serve-d only to be slow and crash, write a small project to then only uninstall everything and move on. No feedback, no suggestions, simply apathy. I'm not familiar with the sentiment in this community around adoption, or if it is even viewed as an issue, but my experience is this. People expect something better, when you don't provide it, they don't tell you and carry on. I'm eager to see what you guys think of my observations and proposals. Even if it all is wishful thinking without much acknowledgment of the real cost, I wholeheartedly believe it is what'll guarantee a better future for the project.
Sep 15
Thanks for your perspective. On Tuesday, 15 September 2026 at 10:57:26 UTC, Claudio Constantin wrote:People expect something better, when you don't provide it, they don't tell you and carry on.I fully agree.What I think D needs:The things you list exist to some extent:- Toolchain manager, its own version of uv, rustup, dotnetup, bun.https://dlang.org/install.html https://github.com/dlang/dub- An official LSP, owned by the Dlang project, developed in tandem with the compiler that should be easily managed.Giving dmd an LSP interface is work in progress. Currently there's only the separate https://github.com/Pure-D/serve-d- A tree-sitter parser, or at least adopt a community one, it is expected to have one nowadays.https://github.com/gdamore/tree-sitter-d https://github.com/CyberShadow/tree-sitter-d- Extensions for popular code editors and IDE.https://github.com/dlang/visuald https://github.com/pure-d/code-d https://plugins.jetbrains.com/plugin/8115-d-language- An official book you can read online, both Rust and Go provide their own.https://dlang.org/book/ https://tour.dlang.org/ I'm aware these may still leave a lot to be desired (e.g. hard to find/setup, outdated, missing features) and have my own ideas on how to improve that, but do you have specific feedback related to these as well?
Sep 15
On Tuesday, 15 September 2026 at 11:31:38 UTC, Dennis wrote:Thanks for your perspective. On Tuesday, 15 September 2026 at 10:57:26 UTC, Claudio Constantin wrote:Thank you for your response. From what I gather, my proposals exist in a scattered and possibly incomplete(?) form. dub is a package manager and build system at the *project* level. My idea of a toolchain manager would look like something you can install by running a shell script (people have strong opinions on this) like rustup, uv, Deno, etc. do. Let's call it `dup`, dup in this case would be the recommended way of installing DMD, LCD, dub, the LSP, formatter and other tools. It would be in charge of managing the installations, updating them, handling environment variables and so on. Some people don't like that, that's ok, we're aiming for the majority here. Regarding the LSP, I shouldn't undermine anyone’s work, but serve-d *isn't* a great experience, the momentum simply isn't there. My hope for the future is that an official LSP under https://github.com/dlang will exist and is properly supported. The same with IDE extensions, which should be much easier to maintain once the right pieces are in place (extensions can use the LSP interface). A tree-sitter parser should be owned, in my opinion, as well. Consolidate and streamline, ensure community effort is focused on something that'll matter. It's a big ask, but a scattered ecosystem is a point of frustration. The book and tour are great, especially the tour, shouldn't have missed it. I'll repeat myself, the ideal would be a single entry point (toolchain manager) to the entire language and its tooling. OWN YOUR TOOLS, IT'S VERY IMPORTANT! It should be apparent where time and effort should go.People expect something better, when you don't provide it, they don't tell you and carry on.I fully agree.What I think D needs:The things you list exist to some extent:- Toolchain manager, its own version of uv, rustup, dotnetup, bun.https://dlang.org/install.html https://github.com/dlang/dub- An official LSP, owned by the Dlang project, developed in tandem with the compiler that should be easily managed.Giving dmd an LSP interface is work in progress. Currently there's only the separate https://github.com/Pure-D/serve-d- A tree-sitter parser, or at least adopt a community one, it is expected to have one nowadays.https://github.com/gdamore/tree-sitter-d https://github.com/CyberShadow/tree-sitter-d- Extensions for popular code editors and IDE.https://github.com/dlang/visuald https://github.com/pure-d/code-d https://plugins.jetbrains.com/plugin/8115-d-language- An official book you can read online, both Rust and Go provide their own.https://dlang.org/book/ https://tour.dlang.org/ I'm aware these may still leave a lot to be desired (e.g. hard to find/setup, outdated, missing features) and have my own ideas on how to improve that, but do you have specific feedback related to these as well?
Sep 15
On Tuesday, 15 September 2026 at 11:31:38 UTC, Dennis wrote:Giving dmd an LSP interface is work in progress.Dennis, you may be interested in this. One user prepared with LLM help: https://github.com/xoxorwr/dmd-lsp
Sep 15
On Tuesday, 15 September 2026 at 10:57:26 UTC, Claudio Constantin wrote:Hello!Hi there!I want to express my genuine interest in learning D as well as the friction I'm facing in doing so, and at the same time, relay my thoughts on what I believe would improve adoption. First, a bit about myself so you can understand where I am coming from. I started programming during the Covid era because there was nothing else for me to do. I'm 25, so nowhere near as experienced as many of you here. Despite that, I want to write this to try and share my perspective on things I have seen evolve.Welcome!Lady Luck smiled and I got a job as an Android dev, so most of my not-so-long career has revolved around Java, and now we're migrating to Kotlin/Jetpack Compose. Since then I have explored more programming topics and languages, because for me it's fun. It's fun to learn and do things.In D community we are agree on that!It was inevitable to not hear about Rust a couple years ago, but then I tried it and fell in love with it. Admiration towards Rust is often attributed to the language design, which is fair. However, I don't think its popularity exploded because of how good the language was, but because of how complete the experience was. Cargo, rustfmt, rust-analyzer, clippy, MIRI, rustdoc... everything provided in one package, under the Rust Project umbrella (rust-analyzer wasn't originally part of it, it is now).All solutions have tradeoffs. Some users prefer to have control what to install.. rather than installing huge bundle altogether. But to have such option could be a nice addition. LDC release is also providing: - ldc (compiler) - dub - ddemangle - dustmite - ldc-build-{plugin/runtime} - reggae and other tools. D also has dfmt and ddoc.This meant that with one VSCode extension and a shell command, you could get a DX experience that would later set the standard for expected language tooling. Rust wasn't the only language providing a batteries included experience, Golang and Dart (the DSL for Flutter) also provided a frictionless pipeline. One can argue that Dart never took off, but both Rust and Go did, and while the *languages* themselves were good, I doubt their adoption would have been as good weren't for their complete toolchains.Build such a toolchain installation project should not be that hard.But dotnet is working towards a better experience, their official LSP is publicly available (but it is in prerelease), and `dotnetup` is another official project, similar to rustup, that acts as an entry point to the language. What I think D needs: - Toolchain manager, its own version of uv, rustup, dotnetup, bun.Compare to rustup, dotnetup we have a project https://code.dlang.org/packages/ldcup which could be maybe extended at some point and provide options to install even more than just a compiler with package manager.- An official LSP, owned by the Dlang project, developed in tandem with the compiler that should be easily managed.We have serve-d (as currently the main LSP). There are also several alternative implementations - recently some LSP functionality was added to DCD.- A tree-sitter parser, or at least adopt a community one, it is expected to have one nowadays.D has 2 implementations of tree-sitter. One of which is used in D extension for Zed.- Extensions for popular code editors and IDE.We have them a lot. Even specific one for Visual Studio (not VS Code, but the original). And there is a WIP project to improve Visual Studio support. There is even D extension for Nova editor. https://wiki.dlang.org/IDEs https://github.com/dlang-community/awesome-d#ides--editors- An official book you can read online, both Rust and Go provide their own.We have Ali's book, which is hosted on official website: https://dlang.org/book/The items on this list aren't easy to develop and maintain, and there's a real cost, human and economic, behind each of them. Do I think D could become the most popular programming language in the world if these things were done? No, I'm not that naive, but I'm 120% sure that interest would skyrocket.Most of the mentioned things are existing.I'm not familiar with the sentiment in this community around adoption, or if it is even viewed as an issue, but my experience is this. People expect something better, when you don't provide it, they don't tell you and carry on. I'm eager to see what you guys think of my observations and proposals. Even if it all is wishful thinking without much acknowledgment of the real cost, I wholeheartedly believe it is what'll guarantee a better future for the project.We have most of the things. They are maybe less polish as D doesn't have huge financial funding as languages from Apple, Oracle, Microslop, Google and FAANG (Rust,JS,C++). And community is mostly working on them in their spare time and sometimes the work could be funded by corporates who are using D. Thanks for sharing your feedback! If you like the language's vibe - you are welcome to use it and maybe even improve currently available projects =)
Sep 15
On Tuesday, 15 September 2026 at 11:39:48 UTC, Sergey wrote:On Tuesday, 15 September 2026 at 10:57:26 UTC, Claudio Constantin wrote:Thank you, I see there's more than meets the eye. We need time for things to improve, yet I still believe that consolidation and a more focused approach to tooling are necessary. I totally agree with the financial side, I won't pretend that isn't an issue. My idea is to simply bring attention to the topics I believe to be important in the current landscape. The idea is to bring new blood to the community, and that may require twisting some arms.[...]Hi there![...]Welcome![...]In D community we are agree on that![...]All solutions have tradeoffs. Some users prefer to have control what to install.. rather than installing huge bundle altogether. But to have such option could be a nice addition. LDC release is also providing: - ldc (compiler) - dub - ddemangle - dustmite - ldc-build-{plugin/runtime} - reggae and other tools. D also has dfmt and ddoc.[...]Build such a toolchain installation project should not be that hard.[...]Compare to rustup, dotnetup we have a project https://code.dlang.org/packages/ldcup which could be maybe extended at some point and provide options to install even more than just a compiler with package manager.[...]We have serve-d (as currently the main LSP). There are also several alternative implementations - recently some LSP functionality was added to DCD.[...]D has 2 implementations of tree-sitter. One of which is used in D extension for Zed.[...]We have them a lot. Even specific one for Visual Studio (not VS Code, but the original). And there is a WIP project to improve Visual Studio support. There is even D extension for Nova editor. https://wiki.dlang.org/IDEs https://github.com/dlang-community/awesome-d#ides--editors[...]We have Ali's book, which is hosted on official website: https://dlang.org/book/[...]Most of the mentioned things are existing.[...]We have most of the things. They are maybe less polish as D doesn't have huge financial funding as languages from Apple, Oracle, Microslop, Google and FAANG (Rust,JS,C++). And community is mostly working on them in their spare time and sometimes the work could be funded by corporates who are using D. Thanks for sharing your feedback! If you like the language's vibe - you are welcome to use it and maybe even improve currently available projects =)
Sep 15
On Tuesday, 15 September 2026 at 12:35:56 UTC, Claudio Constantin wrote:My idea is to simply bring attention to the topics I believe to be important in the current landscape.Yeah, community is aware of tooling importance.The idea is to bring new blood to the community, and that may require twisting some arms.Building projects and libraries could be a nice contribution for this :)
Sep 15
On Tuesday, 15 September 2026 at 10:57:26 UTC, Claudio Constantin wrote:I'm eager to see what you guys think of my observations and proposals. Even if it all is wishful thinking without much acknowledgment of the real cost, I wholeheartedly believe it is what'll guarantee a better future for the project.My view is completely opposite - I think D has almost everything you wrote as missing. What I still struggle, after 20+ years using D, is to find good quality libraries for stuff I do every day. - This was historically the main reason why D has not been adopted in the company I work for. Thanks to LLMs I no longer have this problem as well, but alas my company is now using C++ for stuff we could use D for... Sure there are improvements that D could (carefully) pick from competition but keep in mind this community is small and very opinionated (me included) so if you want something done you may need to roll up your sleeves and do it yourself.
Sep 15
On Tuesday, 15 September 2026 at 11:53:13 UTC, Dejan Lekic wrote:On Tuesday, 15 September 2026 at 10:57:26 UTC, Claudio Constantin wrote:It's a small and opinionated community with a mission. Ideas worth spreading. This attitude does more harm than good, unfortunately. It all boils down to D being great, how can we make more people see how nice it is?I'm eager to see what you guys think of my observations and proposals. Even if it all is wishful thinking without much acknowledgment of the real cost, I wholeheartedly believe it is what'll guarantee a better future for the project.My view is completely opposite - I think D has almost everything you wrote as missing. What I still struggle, after 20+ years using D, is to find good quality libraries for stuff I do every day. - This was historically the main reason why D has not been adopted in the company I work for. Thanks to LLMs I no longer have this problem as well, but alas my company is now using C++ for stuff we could use D for... Sure there are improvements that D could (carefully) pick from competition but keep in mind this community is small and very opinionated (me included) so if you want something done you may need to roll up your sleeves and do it yourself.
Sep 15
On Tuesday, 15 September 2026 at 10:57:26 UTC, Claudio Constantin wrote:I'm eager to see what you guys think of my observations and proposals. Even if it all is wishful thinking without much acknowledgment of the real cost, I wholeheartedly believe it is what'll guarantee a better future for the project.I'm just a user of the language offering my opinion. I started using D in 2013 and my opinion today about adoption is not that different from what it was in 2013. Successful languages, in the sense of significant business adoption, have a team of people working on the things needed for a language to be adopted in production. Financial resources are not a guarantee of success, but it was necessary in the cases of Go and Rust. The important change since 2013 is the availability of AI. I can rewrite entire C libraries in D for a few dollars (or even for free, using an existing subscription or running local models, depending on the situation). $100 will go a long way in 2026, and the amount of volunteer time, while still substantial, is greatly reduced. The way forward is for people to not only give the type of feedback you've provided, but more importantly, to provide enough details for people to actually make progress. I think purely vibe coded libraries and apps are a dumb idea. Creating tooling with the assistance of AI and not even reading the code carefully is a different story. We should view this as an opportunity to close the gap with other languages now that resources have stopped being a moat.
Sep 15
On Tuesday, 15 September 2026 at 21:50:46 UTC, Lance Bachmeier wrote:[snip] The important change since 2013 is the availability of AI. I can rewrite entire C libraries in D for a few dollars (or even for free, using an existing subscription or running local models, depending on the situation). $100 will go a long way in 2026, and the amount of volunteer time, while still substantial, is greatly reduced. The way forward is for people to not only give the type of feedback you've provided, but more importantly, to provide enough details for people to actually make progress. I think purely vibe coded libraries and apps are a dumb idea. Creating tooling with the assistance of AI and not even reading the code carefully is a different story. We should view this as an opportunity to close the gap with other languages now that resources have stopped being a moat.People using tools like this is a great opportunity for D. I recently started using Codex with GPT-6 Astra, and it is quite good. Of course, people are using these tools to improve functionality of other languages too. Where you talk about people not even reading the code carefully, I think we will see a lot more of this TBH. One of the advantages of D is that it was a really powerful language and also elegant. Elegant might be less important if fewer people are reading it. What might matter more is how efficiently the AI can write and iterate on the code (having DMD compile fast is a positive here) and the performance when it is run. AI is likely already at the point where it will be writing code with fewer bugs than good programmers.
Sep 15
On Wednesday, 16 September 2026 at 04:01:37 UTC, jmh530 wrote:One of the advantages of D is that it was a really powerful language and also elegant. Elegant might be less important if fewer people are reading it. What might matter more is how efficiently the AI can write and iterate on the code (having DMD compile fast is a positive here) and the performance when it is run.Fewer people might be reading code (though given the increase in quantity of code when using LLMs, the opposite may happen). We'll still need precise two-way communication with the computer no matter how much LLMs are used. In that sense, we're moving from the old situation where you chose an ecosystem rather than a language to one where the language design is the only thing that matters, because that other stuff is no longer relevant. And that is clearly (to me) an advantage for D.AI is likely already at the point where it will be writing code with fewer bugs than good programmers.We're at a point where most of the small stuff should be handed off to LLMs. It's time consuming and tedious to get right, so humans don't do a very good job with it.
Sep 17
On Thursday, 17 September 2026 at 13:04:33 UTC, Lance Bachmeier wrote:[snip] Fewer people might be reading code (though given the increase in quantity of code when using LLMs, the opposite may happen). We'll still need precise two-way communication with the computer no matter how much LLMs are used. In that sense, we're moving from the old situation where you chose an ecosystem rather than a language to one where the language design is the only thing that matters, because that other stuff is no longer relevant. And that is clearly (to me) an advantage for D.Good points. I might distinguish between programmers and non-programmers. Non-programmers will really just want to accomplish their goals. They might say "Build me a website" without really caring how the LLM uses to do it. The LLM will likely choose a language that is popular to do it.Agree.AI is likely already at the point where it will be writing code with fewer bugs than good programmers.We're at a point where most of the small stuff should be handed off to LLMs. It's time consuming and tedious to get right, so humans don't do a very good job with it.
Sep 17
On Tuesday, 15 September 2026 at 10:57:26 UTC, Claudio Constantin wrote:Hello! [...] I'm not familiar with the sentiment in this community around adoption, or if it is even viewed as an issue, but my experience is this.I think that your analysis, your raw and honest "soul verbatim" is a perfect example of the real cases. And there is a very simple explanation: D is never the first language. It's often considered after years of experience with several other programming languages.People expect something better, when you don't provide it, they don't tell you and carry on. I'm eager to see what you guys think of my observations and proposals. Even if it all is wishful thinking without much acknowledgment of the real cost, I wholeheartedly believe it is what'll guarantee a better future for the project.You want D to be more "the first choice". In my opinion this is a desilusion. It will always be a second choice. Even if that can be a bit anoying for people discovering the language. I even think that this "underground" aspect is an asset.
Sep 16
On Tuesday, 15 September 2026 at 10:57:26 UTC, Claudio Constantin wrote:Hello! I want to express my genuine interest in learning D as well as the friction I'm facing in doing so, and at the same time, relay my thoughts on what I believe would improve adoption. [...]Your perspective is interesting. My perspective is the complete opposite for some reason (and I've used D for a decade or so). My perspective is to provide the bare minimum. I found that even D provided too much, so i went an designed my own language, based on the bare minumum principle. It's a work in progress, but so far, it's going well - see: https://github.com/strawberry9/CobaltC It cannot compete with D, so don't feel threatened ;-) Actually a lot of CobaltC is inspired as a direct result of my using D (both the good aspects and the not-so good aspects - from my opinion only of course). D's C-like syntax for example, was vital to me ever considering D. D's slice... I love it! CobaltC has this now, using D's syntax. I could go on about how D provide lots of inspiration for CobaltC, but I won't. My real point is that some prefer the minimalist approach, and some don't. Some things need to be left to other to do rather than the language or the designer/maintainer of the language.
Sep 26









Claudio Constantin <claukonstantin gmail.com> 