Talk by Herb Sutter: Bridge to NewThingia

Guillaume Piolat at
Thu Jul 2 13:19:37 UTC 2020

On Tuesday, 30 June 2020 at 11:12:22 UTC, aberba wrote:
> It requires someone with C++ knowledge to start, then we'll 
> take care of driving in more idioms. Like a GitHub wiki or 
> something. The D wiki more appropriately for centralization.
> Anyone up for it?

D and C++ are VERY different languages:

- D objects have different construction sequences and teardown 
sequences. In C++ when you can name an object you are guaranteed 
it is constructed. Not in D.

- the meta-game of C++ meta-programming was template 
specialization for a long time, and is considered hard and 
something to avoid.

   For D it has been CTFE + string mixins for a long time, and is 
considered only moderately difficult.

- D uses DUB, modern dependency management that can make you 
maintain a lot more programs that you thought possible ^^. C++ 
culture is pretty much again this convenience.

- T.init is a valid D object, D destructors must handle T.init.

- destructor of heap objects is a big trap in D, perhaps the 
biggest surprise when coming from C++

- D collections do not necessarily own their elements, and are 
generally less complete than C++ collecions.

- D always has RTTI and Exceptions

- the C++ culture is much more conservative since regular people 
that wanted some modicum of sanity have fled to 
Java/C#/Python/anything else for _two decades_.

- mixed ownership (GC + manual) is more complicated than just 
scoped ownership; but ultimately liberating, and fast.

- you have to actually know how the GC work.

More information about the Digitalmars-d-announce mailing list