Future of D 2.x as stable/bug fix, and what's next for D 3.x

IGotD- nise at nise.com
Fri Sep 4 21:51:18 UTC 2020

On Friday, 4 September 2020 at 07:08:40 UTC, Russel Winder wrote:
> My feeling is that C++20 and C++23 are likely to satisfy C++ 
> addicts such that any thoughts of using D get washed away.
> My belief is that programmers now attribute programming 
> languages as no-GC, GC-possible, and GC – with GC-possible 
> being a very small set.
> I have no problem iwth D trying to be both GC and non-GC for 
> those D programmers that feel they need it, but D is very much 
> seen fairly widely as a GC language, I see no reason to fight 
> that.

Modern C++ is the reason I'm to begin with and I'm satisfied with 
C++11. I use C++ often but that is for low level programming and 
that's where C++ has its niche. All the new features of C++ don't 
really target low level programming but tries to become a 
language it is not and that is a high level big hauling language 
(it actually was in the 80-90s). Think server, cloud, micro 
services. This is really Java, Python and others territory and 
C++ has no chance there. C++ in this realm is very unusual unless 
you have strict performance and/or resource footprint 
requirements but more often people use the big haulers like Java 
because of convenience.

D already support manual memory management and you can mix how 
much you want. The question is how the standard libraries should 
written and used. I'd say leave them as it is and people who want 
manual memory management are free to do that but then you have 
create your own libraries (mainly because nobody will port 
druntme/phobos to non-GC). I agree with you that D should be a GC 
language first since that is what most people will be looking for 
when programming D. For those who are not are probably 
programming betterC and there a lot of features are disabled.

We'll see if you are right when it comes to C++23 and so on. I 
believe that C++ will not increase its popularity because of new 
features. What C++ tries to target with the newer standards is 
out of its reach, better alternatives exist. This includes D. One 
funny observation is that C++20 is starting to look like D in 
some aspects (modules), however the name resolution in D is 
superior in my opinion.

I believe that C++23 will not decrease the interest for D, and it 
will be interesting to see what will really happen.

There is another misconception I want to address and that is that 
Rust is non-GC. Rust is partly a garbage collected language. Due 
to the single ownership limitation many algorithms use reference 
counting. Reference counting is a form of GC. Same goes for C++ 
when it uses shared_ptr.

More information about the Digitalmars-d mailing list