"Much smaller language specification" is a red herring. The issue is (practical) comprehension.
"C was a well designed language that was later added onto haphazardly and you ended up with C++."
http://www.amazon.com/Design-Evolution-C-Bjarne-Stroustrup/d...
I've read that book. (Have you?) Nothing "haphazard" about C++.
Stroustrup's The Design and Evolution of C++ (http://www.amazon.com/Design-Evolution-C-Bjarne-Stroustrup/d...) is very good for explaining the "why" of C++, especially the stranger parts.
One other note, echoing some of the others: everyone picks out a subset of C++ and programs in that, and smart companies make that formal. You might see if your problem domain matches one of the available good ones, like Google's (well, I've heard that it's good).
They help understand all design compromises that were done to keep compatibility with C, which is was part of what brought C++ into the mainstream, but also the main cause of many of its warts.
[1] http://www.amazon.com/The-Annotated-C-Reference-Manual/dp/02...
[2] http://www.amazon.com/The-Design-Evolution-Bjarne-Stroustrup...