D community roadmap

SealabJaster sealabjaster at gmail.com
Wed Nov 25 09:52:45 UTC 2020


On Tuesday, 24 November 2020 at 03:22:19 UTC, JohnT wrote:
> First of all congrats to all D community for all their hard 
> work. D is one of the languages which I fell in love at first 
> sight.

Agreed, especially considering the overall lack of man power.

> a. We should do a survey similar to Go/Rust. And we should hear 
> the community of the top features we need. Even if original 
> designers disagree.

We've had one semi-recently [1] but I think the results for the 
most part were largely ignored.

> b. Focus should be selling our strengths like strong interop 
> with C/C++. Neither Go/Rust has this. D has lot more chance to 
> shine in this. Companies wont replace billions of C/C++ code. 
> What we need is incremental where they can replace and D can 
> work with C++. We need more effort to make easy transitions.

I feel the entire topic of interop with C, and especially C++, is 
quite a large can of worms if you look at it from a wider angle, 
so I'm only going to touch on something I think is the most 
important: Documentation, tutorials, examples, etc. on how to do 
all of this.

It's *relatively* straight forward with C, but with C++ I'm 
unaware of any resources outside of [2].

Then of course there's the age-old issue of C/C++ programmers 
scoffing the moment they see that D has a GC, regardless of how 
well or not the language's ability to interop is, regardless of 
the actual performance/ability to side step the GC there is, etc.

(On a side note I do wonder if D should add some kind of 
ability/types to distinguish between managed and unmanaged 
memory, since I wonder if the current opaqueness is having a 
negative affect in anyway.)

> Yes I would love to help. If people define a ROADMAP where each 
> release has issues and features in the order of priority.

We used to have something similar [3], but from what I remember 
the people making the roadmap felt like it was mostly a waste of 
time since nothing ever really came from it (warning: rough 
memory).

I miss it though, because it's hard to really keep track of what 
direction the language is going in now since the information 
seems to be a lot more scarce/scattered/internal than before.

As a professional [4] proggit [5] crybaby [6] I've expressed my 
likes, dislikes, thoughts, and worries many times. The main theme 
I tend to see in my view of D's gems and warts is that: there 
just isn't enough talented people working on the language and 
ecosystem, and that there isn't a complete, cohesive vision of 
the language - instead there's essentially multiple "factions" of 
people who want the language to go in different directions.

Finally, I sometimes have thoughts like "are people put off from 
contributing to a standard library that has had several 
experimental packages (std.experimental) sit there just to die?";

"are library writers put off over the idea of having to perfectly 
support every subset and use case of D? (GC, nogc, throw, 
nothrow, perfect integrations with all language features)";

"what does it tell me about the language where they keep things 
like @property around despite it's only purpose being 
self-documentation?"; (and I guess it also has minor effects on 
introspection if you're looking for it specifically)

just odd thoughts like that where I wonder what kind of impact 
these relatively small things may be having on the perception of 
potential users and contributers of the language.

I guess another way to word it is: we often like to go on about 
how D as a collective whole is an amazing language, due to it 
being built upon many small but useful features (UFCS, ranges, 
slices, etc.). Surely then the reverse must be true, that all the 
tiny nagging and pain points as a whole may be enough to 
discourage people to help/use the language.

I wonder what could be done outside of hoping that more motivated 
people eventually come along and start to take charge in certain 
aspects of the language/marketing.

Sorry about going a little off topic, I tend to 'spill my brain' 
out when thinking about the state of the language.

[1] https://rawgit.com/wilzbach/state-of-d/master/report.html
[2] https://dlang.org/spec/cpp_interface.html
[3] https://wiki.dlang.org/Category:Vision_Statements
[4] 
https://www.reddit.com/r/programming/comments/ikjh83/d_foundation_is_beefing_up/g3nau3g/
[5] 
https://www.reddit.com/r/programming/comments/ice00l/porting_a_go_and_rust_tool_to_d/g23bg7w/
[6] 
https://www.reddit.com/r/programming/comments/awy405/d_20850_has_been_released/ehr9o06/


More information about the Digitalmars-d mailing list