October 31, 2022

On Monday, 31 October 2022 at 12:10:15 UTC, zjh wrote:

>

D is a center language . It competes with all languages. Therefore, it has higher requirements!
GC cannot support it to survive in the intense competition.

Modern languages have more support for asynchronous and multithreaded programming than ever. You simply cannot have a stop the world GC in such environments in order to be competitive.

October 31, 2022

On Monday, 31 October 2022 at 12:20:10 UTC, IGotD- wrote:

>

On Monday, 31 October 2022 at 12:10:15 UTC, zjh wrote:

>

D is a center language . It competes with all languages. Therefore, it has higher requirements!
GC cannot support it to survive in the intense competition.

Modern languages have more support for asynchronous and multithreaded programming than ever. You simply cannot have a stop the world GC in such environments in order to be competitive.

I guess async/await is one thing I really miss in D (when converting C# to D). Other than that, not really anything D can't do that I need.

October 31, 2022

On Monday, 31 October 2022 at 12:20:10 UTC, IGotD- wrote:

>

You simply cannot have a stop the world GC in such environments in order to be competitive.

D needs a reasonable todo list with priority !.
There are too many things to do. D need to arrange them reasonably!

October 31, 2022

On Monday, 31 October 2022 at 12:24:38 UTC, Imperatorn wrote:

>

On Monday, 31 October 2022 at 12:20:10 UTC, IGotD- wrote:

>

On Monday, 31 October 2022 at 12:10:15 UTC, zjh wrote:

>

D is a center language . It competes with all languages. Therefore, it has higher requirements!
GC cannot support it to survive in the intense competition.

Modern languages have more support for asynchronous and multithreaded programming than ever. You simply cannot have a stop the world GC in such environments in order to be competitive.

I guess async/await is one thing I really miss in D (when converting C# to D). Other than that, not really anything D can't do that I need.

They are fiber for this purpose:
https://tour.dlang.org/tour/en/multithreading/fibers

Did you want syntaxic sugar to use async/await which would use a fiber?

October 31, 2022

On Monday, 31 October 2022 at 12:20:10 UTC, IGotD- wrote:

>

On Monday, 31 October 2022 at 12:10:15 UTC, zjh wrote:

>

D is a center language . It competes with all languages. Therefore, it has higher requirements!
GC cannot support it to survive in the intense competition.

Modern languages have more support for asynchronous and multithreaded programming than ever. You simply cannot have a stop the world GC in such environments in order to be competitive.

Nowaday IT industry want to be productive
That is why in 2000's many people used Ruby
That is why in 2020 they are lot of developpement in

  • JavaScript/typescript
  • one language for the backend and the frontend
  • Python a multipurpose language
  • backend
  • Datascience
    Those popular language hide the memory management complexity

With the growth of python community. More and more people are not satisfied as python is too slow. That is why Microsoft spend so many ressources to get a faster python. To get the productivity without to be too slow.

C/Go/rust aime to be a system language this market is really small.
People want to produce something easily with a good performance. That is the spirit of D.

And yes we know that most of Rust peoples use ut it only because it is popular. As it is popular more people want to try. Now they start to write teir python library in Rust.

That is why the market is here with a GC. Thus D have to provides those libraries:

  • Datascience
  • Backend such as fastapi (why vibe.d is not becomz popular)
  • Full featured wasm library writen in D (one language for the backend and the frontend)
October 31, 2022

On Monday, 31 October 2022 at 16:27:48 UTC, Bioinfornatics wrote:

>

[snip]

Nowaday IT industry want to be productive
That is why in 2000's many people used Ruby
That is why in 2020 they are lot of developpement in

  • JavaScript/typescript
  • one language for the backend and the frontend
  • Python a multipurpose language
  • backend
  • Datascience
    Those popular language hide the memory management complexity

[snip]

I agree with a lot of this, but remember that it takes people to do these things. They don't just fall out of the sky.

October 31, 2022
On Sunday, 30 October 2022 at 02:15:06 UTC, Walter Bright wrote:
> Besides, if it was so easy to do, why has nobody produced a C compiler that uses a GC instead of malloc/free?

Well, it has been done with Bohem.

But anyway I wrote up my sketch design in my blog:
http://dpldocs.info/this-week-in-d/Blog.Posted_2022_10_31.html


It is more like bounds checking than a new type. Sure, I do propose a new type, but just to locally bypass the thing, not as something mandatory. With a compiler switch, you can turn it on or off to experiment with different strategies.
October 31, 2022
On 10/29/22 04:02, Walter Bright wrote:
> On 10/28/2022 3:20 AM, IGotD- wrote:
>> D is a good language but it has some obvious flaws that are easily recognizable and these can be fixed. The problem is the management and the total tone deafness/insight who refuse to recognize these often because of self manufactured dogmas. This is really frustrating as if the odds and ends could be fixed in the language it could bring it to a very competitive state. It's like falling over right before the finishing line. The only way out of this is if D is forked.
> 
> You can fork it if you like. Feel free!
> ...

It is pretty standard procedure for contributing to D to fork the official repositories.

DMD alone has been forked over 600 times on github. I guess coordinating DMD development is just not so easy and we don't really have people with the requisite skills and motivation.

> Meanwhile, last week I spent fixing some gaps in the XMM semantics (relational operators are now supported).
> 
> Before that, I went through every DIP1000 bugzilla issue, and submitted PRs for the problems.
> 
> Before that, I went through (again) the list of outstanding issues with ImportC and fixed the top problems.

Thank you! I wish I had more spare time. (And push access to DMD master ;] )

October 31, 2022
On 10/31/2022 5:47 AM, zjh wrote:
> `D` needs a reasonable `todo` list with `priority` !.

The thing is, we don't assign people tasks from a list. People work on what they want to work on. Sponsors can fund specific tasks they need done.
October 31, 2022
On 10/31/22 20:52, Walter Bright wrote:
> On 10/31/2022 5:47 AM, zjh wrote:
>> `D` needs a reasonable `todo` list with `priority` !.
> 
> The thing is, we don't assign people tasks from a list. People work on what they want to work on. Sponsors can fund specific tasks they need done.

The value of such a list is that people who do want to work on one of the items on the list anyway receive some assurance that what they want to work on aligns with the goals of the project and has a reasonable chance of being upstreamed. This is important for people who have limited resources to spend on open source projects not immediately related to their day job. For example, your and Andrei's very clear, concise and consistent communication making clear that that `static foreach` is desirable but difficult to implement is exactly what prompted me to start working on the implementation.

I think the foundation has generally been moving into this direction? (E.g., vision statements.) Of course, keeping a detailed list up to date also causes some overhead, so it is a tradeoff.