Found in 9 comments on Hacker News
manaskarekar · 2020-03-27 · Original thread
Here’s one that’s a hit or miss depending on your interests: The Design And Evolution of C++.

hga · 2016-09-09 · Original thread
Even if you dislike C++, or like me, came to loathe it, I highly recommend the book he published in the same year, The Design and Evolution of C++ ( It's very educational about you go about making a successful language in an existing ecosystem, and even after swearing off the language I don't regret one bit the time I spent reading the book.
pjmlp · 2015-04-23 · Original thread

Most of the C++ warts are caused by the need to be copy-paste compatible with C, expectations of C developers being lured into this new language and be a drop-in compatible replacement for C tooling.

"The Design and Evolution of C++",

chollida1 · 2015-04-15 · Original thread
I think this might be well traveled ground now, but people always ask me what I'd recommend to learn good C++ style.


are my two favorite books. And then if you aren't happy with these books this stackoverflow link has more books than you could ever want:

This link from Microsoft is also pretty darn good:

hga · 2015-02-05 · Original thread
That could be really good.

Although I've come to loathe the language, his 1994 book on the topic is fantastically good and highly recommended:

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.



jrmenon · 2012-09-28 · Original thread
While not a complete history, the following book, 'Design and Evolution of C++', does go into some history of other languages that influenced C++:

If you happen to be in bay area, visiting the 'Computer History Museum' is a good start too:

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

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

Fresh book recommendations delivered straight to your inbox every Thursday.