On Thursday, 16 November 2017 at 18:02:10 UTC, Patrick Schluter
wrote:
The shear amount of inscrutable cruft and rules, plus the
moving target of continuously changing semantics an order or
two of magnitude bigger than C added to the fact that you still
need to know C's gotchas, makes it one or two order of
magnitude more difficult to mental model the hardware.
I don't feel that way, most of what C++ adds to C happens on a
typesystem or textual level. The core language is similar to C.
Even worse in C++ with its changing standards ever 5 years.
But those features are mostly short hand for things that already
are in the language. E.g. lambdas are just objects, move
semantics is just an additional nominal ref type with barely any
semantics attached to it (some rules for coercion to regular
references)...
So while these things make a difference, it doesn't change my low
level mental model of C++, which remain as close to C today as it
did in the 90s.