D needs to learn from competing languages and ecosystems.

Claudio Constantin claukonstantin at gmail.com
Tue Sep 15 12:21:34 UTC 2026


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:
>> 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?

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.


More information about the Digitalmars-d mailing list