C++ rewards good design but brutally punishes poor designs.
You hit the nail on the head, somewhere in the early 90's, language vendors stopped claiming "Our language supports OO concepts" and started claiming "Our language is OO".
The first C++ compiler I used professionally was Wacom's (circa 1991). Back then the Watcom C++ extensions were not part of the language, they were implemented with a bunch of C macros pulled in with include files, the macros themselves were riddled with goto (another macro) statements. I still have nightmares....
The fact is any general purpose language can be used to implement an OO design because OO is not about language features, it's a design methodology, or at least that's what I was taught when studying for my CS degree in the late 80's. As my smalltalk lecturer pointed out at the time, most of the examples in K&R's "The C language" are also great examples of OO design that were written long before the term OO was invented.
Disclaimer: These days I spend much more time tying spaghetti balls with different flavoured source together than I do trying to untangle the individual gordian knots.
Maybe they don't get the 'lazy evaluation' part if they've never dabbled in functional programming
"Lazy evaluation" is an optimization technique for evaluating Boolean expressions, I've never heard of a programming language that doesn't use it by default
How about we get politics out of science and rely on the scientific method to determine if "Global Warming" is real or not.
If we did that then this debate would have ended in 1958 when spectrographs designed for heat seeking missiles became good enough to separate CO2 and H2O absorption lines. It was previously assumed they overlapped but the new spectrographs showed they were interlaced.
"The one charm of marriage is that it makes a life of deception a neccessity." - Oscar Wilde