by Bjarne Stroustrup
ISBN: 0201543303
Buy on Amazon
Found in 3 comments on Hacker News
pjmlp · 2013-11-25 · Original thread
Another good read are The Annotated C++ Reference Manual[1] and The Design and Evolution of C++[1].

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...

Please point out the "shortcomings" of Java. It has done quite well and provably "scales" from programming in the small to enterprise level. Even the required detour of multi-core resulted in the industry's gold standard of memory models: JMM.

"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++.

hga · 2010-02-12 · Original thread
It's very old and I have no idea how accurate it still is, but I found Inside the C++ Object Model by Stanley Lippman (http://www.amazon.com/Inside-Object-Model-Stanley-Lippman/dp...) to be tremendously useful in the mid-'90s for understanding what was going on under the hood.

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).