On Friday, 22 December 2017 at 16:17:33 UTC, Dan Partelly wrote:
On Friday, 22 December 2017 at 15:23:51 UTC, Russel Winder wrote:
I think we are now in a world where Rust is the zero cost abstraction language to replace C and C++, except for those who are determined to stay with C++ and evolve it.

Why should we settle for this ? D code (efortless) is easier to read then Rust. I assume this to be true for a lot of programmers who know C/C++. It also introperates very well with C, which is great boon, since at low level we live on the shoulder of a titan written in C. It has tremnedous features, and ironically the best of them could have been designed to not relay on GC. As most , if not all, of the features offered by its library could have been done with no GC.


D, like Go, should glory in having a GC and just go with it.

Of course this does not mean the GC as is is good enough. Go is on its
third I believe, and Java on it's fifth.

A good implementation at library level of GC would mean that I can use one single language in all areas of system programming. Or at least, a implementation where std:: and core features of language should not relay on GC. This, IMO is an advantage not to be neglected. A better C mode with a very powerfull high level standard library (like std:: ), exceptions, RAII, classes (yes, why not ) typeid would be a very big step ahead. All those could be done without having to worry about existence of GC. C++ has all those.

IMO the key here is the standard libray of the language. Nothing in it should relay on the existence of GC. Why, why, does it have to depend on GC and hence automatically disqualify itself from a better C world ? The C runtime ezposed by core is powerfull, but imagine having std:: power in better C as well. I really lament this.

You could have the best of the two worlds.

Regarding GC being built into the core language, from [the D faq](https://dlang.org/faq.html):

"**Can't garbage collection be done in C++ with an add-on library?**

Yes, I use one myself. It isn't part of the language, though, and requires some subverting of the language to make it work. Using gc with C++ isn't for the standard or casual C++ programmer. Building it into the language, like in D, makes it practical for everyday programming chores."

I'm new to D. Coming primarily from Python these days, I'm looking at D not as a better C++ (haven't used that in many years), but as a better Python.

Reply via email to