On Tuesday, 29 September 2015 at 09:12:11 UTC, Jonathan M Davis
wrote:
C++11 and 14 have closed the gap, but the two are still quite
distinct. That doesn't necessarily mean that D is better in all
cases, but D is definitely not just C++ with a GC.
It isn't "just C++", but D as a language is close enough to be
considered a close relative. So if you are used to implementing
libraries in C++, the jump to D is not a big jump.
Where D1 was a move towards creating a more constrained
environment by adding builtin language features (a design ideal
that is closer to where Go is, compared to C++), D2 has been and
IMO still is moving towards features being done in libraries much
like C++.
There are differences across the board, but they are minor, not
major differences. Lambdas are done slightly different,
templating is slightly different, traits are done somewhat
different, object init is slightly different, exceptions are
slightly different, operators are done slightly different, but
you can roughly express the same things in roughly the same way
with some exceptions.