May 19, 2021

On Wednesday, 19 May 2021 at 03:36:10 UTC, zjh wrote:

>

D need a sense of urgency. Really, when C++23 is comming, reflection / network is available. Even you are trying to use C++. where is D's place?

Yes, it is true that the C++ people have become effective at pushing ideas and turning them into designs. With Microsoft, Google and Apple behind them now they also have a variety if theoretical and technical expertise that others don't. So it is better for D to find its own identity, but it should follow a plan, absolutely.

C++ is out if reach, let's move on?

May 19, 2021

On Wednesday, 19 May 2021 at 03:36:10 UTC, zjh wrote:

>

When everyone is pulling D towardsC++/Java/Python/go, it's useless if you want to pull C++. Can you wake them up without saying it aloud?
D need a sense of urgency. Really, when C++23 is comming, reflection / network is available. Even you are trying to use C++. where is D's place?

Why does D need a sense of urgency? D and its community need to learn how to be comfortable being D and not get distracted chasing perfection in an attempt to be the next Big Thing.

I choose to use C++20 at the moment because it is fun again and I like where it is heading. At some point I may switch back to D but it depends on where D ends up. I'm not interested in another Rust or C++, they already exist but D once felt like it was a Python/C++ lovechild and that was an interesting and fun language to use for a while. Really low friction, simple to get into quick to code in and powerful features. But like I said it stalled in its development of new features in that direction chasing perfection.

On a completely unrelated note I will say D newsgroups are an amazing resource. I have learned an enormous amount just lurking on discussions between the core devs and looking over their shoulders at the PRs which result from those discussions.

May 19, 2021

OK, back to the original question, what is d, What do you want to be?What is d's road map? How to complete it?
Just like the slogan of C++:extreme abstraction/never waste. This is C++:focus on performance, squeeze out performance.
If you can't win the first place, it's OK. I've always regarded d as the first class language. ButGCwill drag you back. If you compete with C#/go/py..., it's degenerate.
What I put forward is that d focuses on becoming a better c++. As long as GC is removed from the standard library, I think it is possible to achieve this goal. A better c++ is the best language.
Let's make a list of all the important problems we are facing. Similar to dependency analysis, we should first solve the most fundamental problems and then solve them one by one.
Our relationship with C++ is both competition and cooperation.
C++ has learned a lot from py, and it remains C++. d becoming a better C++ still has its style.

May 19, 2021

On Wednesday, 19 May 2021 at 08:21:38 UTC, norm wrote:

>

Why does D need a sense of urgency? D and its community need to learn how to be comfortable being D and not get distracted chasing perfection in an attempt to be the next Big Thing.

I kind of agree with that D chases what is fads in computer languages too much. However, the issue with memory management is urgent and this is what blocks D for becoming popular where C++ dominates and that is performance applications.

I blame the maintainers who are behaving like ostriches with the head in the sand. They don't even discuss the issue and if there is no official direction/plan, then the community will not do anything.

May 19, 2021

On Wednesday, 19 May 2021 at 09:26:59 UTC, IGotD- wrote:

>

On Wednesday, 19 May 2021 at 08:21:38 UTC, norm wrote:

>

Why does D need a sense of urgency? D and its community need to learn how to be comfortable being D and not get distracted chasing perfection in an attempt to be the next Big Thing.

I kind of agree with that D chases what is fads in computer languages too much. However, the issue with memory management is urgent and this is what blocks D for becoming popular where C++ dominates and that is performance applications.

I blame the maintainers who are behaving like ostriches with the head in the sand. They don't even discuss the issue and if there is no official direction/plan, then the community will not do anything.

Hmm, do we really lack memory management techniques?

I'm guessing you mean in the language?

https://wiki.dlang.org/Memory_Management
https://github.com/atilaneves/automem
...

May 19, 2021

On Wednesday, 19 May 2021 at 09:55:43 UTC, Imperatorn wrote:

>

On Wednesday, 19 May 2021 at 09:26:59 UTC, IGotD- wrote:

>

On Wednesday, 19 May 2021 at 08:21:38 UTC, norm wrote:

>

[...]

I kind of agree with that D chases what is fads in computer languages too much. However, the issue with memory management is urgent and this is what blocks D for becoming popular where C++ dominates and that is performance applications.

I blame the maintainers who are behaving like ostriches with the head in the sand. They don't even discuss the issue and if there is no official direction/plan, then the community will not do anything.

Hmm, do we really lack memory management techniques?

I'm guessing you mean in the language?

https://wiki.dlang.org/Memory_Management
https://github.com/atilaneves/automem
...

https://forum.dlang.org/post/pagbapldtkrnlegpwybm@forum.dlang.org
https://www.youtube.com/watch?v=_PB6Hdi4R7M

May 19, 2021

On Wednesday, 19 May 2021 at 09:55:43 UTC, Imperatorn wrote:

>

Hmm, do we really lack memory management techniques?

I'm guessing you mean in the language?

https://wiki.dlang.org/Memory_Management
https://github.com/atilaneves/automem
...

Yes, that is what I meant. To quote the text in one of the links you provided.

D has built-in types that may be difficult to use without the GC: exceptions, strings, dynamic arrays, associative arrays, and delegate closures.

It's exactly these primitives that make D a nice language. They should be rewritten so that they don't rely on GC or can be retargetted to any GC.

Also, that I want the GC type should be opaque like in Nim would be nice.

May 19, 2021

On Wednesday, 19 May 2021 at 09:09:10 UTC, zjh wrote:

>

OK, back to the original question, what is d, What do you want to be?What is d's road map? How to complete it?
Just like the slogan of C++:extreme abstraction/never waste. This is C++:focus on performance, squeeze out performance.

Yes, this is what makes C++ the best language for low level programming at the moment, but if one tries to do high level programming in C++ it tends to be verbose or too easy to make mistakes in comparison to other languages. But it is usually not too difficult to mix C++ with other languages.

>

What I put forward is that d focuses on becoming a better c++. As long as GC is removed from the standard library, I think it is possible to achieve this goal. A better c++ is the best language.

Yes, that was what D claimed to be around 2006? And that is why I picked it up, but the GC killed it for what I wanted to create (+ compiler bugs). And that was like... 15 years ago? Since then it has aggregated lots of features I don't really wanted, but the GC and compiler bugs issue is remaining.

So I am very happy that memory management is on the plan, let's keep focus on that one until it is done. Then address the compiler bugs and D will finally get close to what it claimed to be like 15 years ago...

But C++ was a different language back then. Trying to become what C++ is going to be in the future is too much. Way too much to achieve. Let's try to achieve the goals D had 15 years ago first... Then set new goals... :-D

May 19, 2021

On Wednesday, 19 May 2021 at 10:57:55 UTC, Ola Fosheim Grøstad wrote:

[snip]

>

Let's try to achieve the goals D had 15 years ago first... Then set new goals... :-D

+1

I think we're all arguing our agreement :)

May 19, 2021

I don't like GC either, but the real issue is the absence of any ideology, target market, goals and plans. When you work on any project, you should have an idea what are you going to achieve. You should set your goals and try to make them come true. These are such elementary things that I'm genuinely surprised that the management does not understand it. The current situation with D looks pretty vague. No goals, no plans, no targeting. We're trying to please everyone and we get stuck because we don't like to compromise. Earlier, we had a motto "C++ done right" (or something like that). Right now we don't even have one. Somebody should define current goals and start making unpopular decisions or D will stay a broken bicycle forever. Is there any chance that D will get a list of goals and clear roadmap? Do the maintainers even care about it?