Thread overview
D community roadmap
Nov 24
JohnT
Nov 24
aberba
November 24
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. There are lot of posts in this forum about similar sentiment.  We have really great engineers working on amazing features. What we really need is good marketing, some polishing and a direction. D really can be better than most other languages.Its a chicken and egg problem. But we need more marketing/benchmarks blogs etc where we compete with other languages on features. We should do dedicated effort to cleanup and make language simpler.

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.
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.
c. Focus on tooling/stability.
d. Benchmarking of most frequently used libraries like json/vibe/networking etc against other languages and publish this.
e. Marketing D as both systems/scripting language with GC and non GC with lot of articles and samples with benchmarking.
f. Interop with C/C++, faster builds, easy compared to rust are some strengths we should market.
e. We need small working groups for networking/standard library/ server/ embedded/security/tooling etc who focus on the issues in those domain.
g. Mentorship for folks who wish to contribute.

I know the answer is why dont you do it. Yes I would love to help. If people define a ROADMAP where each release has issues and features in the order of priority and its maintained somewhere, people like us will do their small part whenever we find free time. Its time for C/C++ to go. So far I see D as only better option. Wish from a D fan.

November 24
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. There are lot of posts in this forum about similar sentiment.  We have really great engineers working on amazing features. What we really need is good marketing, some polishing and a direction. D really can be better than most other languages.Its a chicken and egg problem. But we need more marketing/benchmarks blogs etc where we compete with other languages on features. We should do dedicated effort to cleanup and make language simpler.
>
> 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.
> 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.
> c. Focus on tooling/stability.
> d. Benchmarking of most frequently used libraries like json/vibe/networking etc against other languages and publish this.
> e. Marketing D as both systems/scripting language with GC and non GC with lot of articles and samples with benchmarking.
> f. Interop with C/C++, faster builds, easy compared to rust are some strengths we should market.
> e. We need small working groups for networking/standard library/ server/ embedded/security/tooling etc who focus on the issues in those domain.
> g. Mentorship for folks who wish to contribute.
>
> I know the answer is why dont you do it. Yes I would love to help. If people define a ROADMAP where each release has issues and features in the order of priority and its maintained somewhere, people like us will do their small part whenever we find free time. Its time for C/C++ to go. So far I see D as only better option. Wish from a D fan.

First of all, what you say is important. Thank you for your statement.

A big problem is D the language community doesn't analyze why other languages are popular. How many people don't use D language.

I focus on D language-based server-side technical solutions. A lot of web frameworks like laravel、springboot、rails are missing in the process. Also lack of grpc、http2、amqp and other related components. But we have worked hard to achieve some, including HuntFramework、grpc for D、ORM、AMQP library、http2 protocol libraries. When we encounter more difficult problems, officials may not pay attention to them. For example, we want to have await functions to solve concurrent problems. We also want to have pprof tools to analyze the performance problems of http requests in different situations in the real environment of the server.
November 24
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. There are lot of posts in this forum about similar sentiment.  We have really great engineers working on amazing features. What we really need is good marketing, some polishing and a direction. D really can be better than most other languages.Its a chicken and egg problem. But we need more marketing/benchmarks blogs etc where we compete with other languages on features. We should do dedicated effort to cleanup and make language simpler.
>
> [...]

Well put. Have similar thoughts myself. I suspect the answer to why things aren't happening (well, things *do* happen, just scattered) is really simple, resources and limited time. But the polling thing is interesting. A lil' wisdom of the croud can give some information on what matters most.
November 24
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. There are lot of posts in this forum about similar sentiment.  We have really great engineers working on amazing features. What we really need is good marketing, some polishing and a direction. D really can be better than most other languages.Its a chicken and egg problem. But we need more marketing/benchmarks blogs etc where we compete with other languages on features. We should do dedicated effort to cleanup and make language simpler.
>
> 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.
> 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.
> c. Focus on tooling/stability.
> d. Benchmarking of most frequently used libraries like json/vibe/networking etc against other languages and publish this.
> e. Marketing D as both systems/scripting language with GC and non GC with lot of articles and samples with benchmarking.
> f. Interop with C/C++, faster builds, easy compared to rust are some strengths we should market.
> e. We need small working groups for networking/standard library/ server/ embedded/security/tooling etc who focus on the issues in those domain.
> g. Mentorship for folks who wish to contribute.
>
> I know the answer is why dont you do it. Yes I would love to help. If people define a ROADMAP where each release has issues and features in the order of priority and its maintained somewhere, people like us will do their small part whenever we find free time. Its time for C/C++ to go. So far I see D as only better option. Wish from a D fan.

Well put, well put.
I've been playing with D for some time and what I learnt the D community is kinda fragmented or rather sparse. Mostly C/C++ veteran folks who know their tools and can get around anything. I feel like they are content. D gives them what they want already and they got used to live with the rest.

Yes, marketing could definitely be better. Not many ppl stumble into D and thus the community does not grow that much. I sometimes miss this youth vigor which I see on Julia/Nim/Rust forums. It is a bit unfair to know that many newer languages boast the features which D had for a long time. But nobody knew about it when it mattered.
November 24
On Tuesday, 24 November 2020 at 21:42:41 UTC, tastyminerals wrote:
> On Tuesday, 24 November 2020 at 03:22:19 UTC, JohnT wrote:
>> [...]
>
> Well put, well put.
> I've been playing with D for some time and what I learnt the D community is kinda fragmented or rather sparse. Mostly C/C++ veteran folks who know their tools and can get around anything. I feel like they are content. D gives them what they want already and they got used to live with the rest.
>
> Yes, marketing could definitely be better. Not many ppl stumble into D and thus the community does not grow that much. I sometimes miss this youth vigor which I see on Julia/Nim/Rust forums. It is a bit unfair to know that many newer languages boast the features which D had for a long time. But nobody knew about it when it mattered.

The folks at opensource.com have told me they would love to publish D articles...also the D blog has some $ for blog posts.
November 25
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/