![Cover of The design and evolution of C[plus plus]](https://covers.hackerbooks.org/c/135125.webp)
The design and evolution of C[plus plus]
by Bjarne Stroustrup · first published 1994
120mentions
38recommended by
68HN commenters
2008–2026first – last mentioned
56% recommend41% neutral3% critical
Why HN recommends it
Explains the reasons and trade-offs behind C++ design decisions, especially compatibility with C and zero-overhead abstraction. Suits anyone who wants the why behind the language's warts, even non-fans.
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.








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++ (https://www.amazon.com/Design-Evolution-C-Bjarne-Stroustrup/...). It's very educational about you go about making a successful language in an existing ecosystem, and even after swearing off the language…
on “The Design of C++ (1994) [video]” ↗…Jokes are never funny when explained :/ Source: I'm a somewhat experienced stand-up comedy practicioner, apart from a very experienced software developer. I wholeheartedly recommend reading Stroustrup's "Design and evolution of C++", gives you so much valuable and interesting background.
on “Is C++ fast?” ↗Try browsing through both "The C++ Programming Language" and "The Design and Evolution of C++." You stated you're not a big fan of C++, but you might get something out of what Stroustrup has to say - I do.
on “Bjarne Stroustrup on Educating Software Developers” ↗…performance, cross platform large scale apps C++ is still the only game in town. Joe's point that all the complexities have reasons behind them is a really good one. I'd suggest reading Stroustrup's "The Design and Evolution of C++" for more information.
on “Zed Shaw on C++” ↗Mythical Man Month and Silver Bullet essay ought to be mandatory. K&R as well, and Stroustrup (both C++PL and Design and Evolution of C++). Programmers don't stand on each others' shoulders, but each others' feet.
on “Books Programmers Don't Really Read But Recommend” ↗Two books I think every developer should read: 'The Design and Evolution of C++' by Bjarne Stroustrup 'The Old New Thing: Practical Development Throughout the Evolution of Windows' by Raymond Chen (you could just read through his blog, book I quite enjoyed having a book). What…
on “Books every developer should read” ↗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.…
on “Instance Model Programming in C” ↗If you can handle some abstract theory, the design of the STL is put into a useful context by Stepanov's Elements of Programming. Stroustrup's The Design and Evolution of C++ is another great "why" book, and I hope that Bjarne will decide to update it for C++11 or 14. It's older, but reading Lippman's Inside the C++ Object Model is what finally made the language click for…
on “The C++ and programming books I recommend” ↗Another good read is the book "The Design and Evolution of C++". http://www.stroustrup.com/dne.html It does provide a very clear rationale why C++ became the way it was (C++98), given the design goals and the constraint of being C compatible as much as possible,…
on “Evolving a language in and for the real world: C++ 1991-2006 (2007) [pdf]” ↗…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++", http://www.amazon.com/The-Design-Evolution-Bjarne-Stroustrup...
on “C# 7 Work List of Features” ↗It's probably a niche interest, but do you know if anyone's working on a Rust equivalent of Stroustrup's Design and Evolution of C++? I found that book a huge help in grokking the "why"s behind the language, and gaining some degree of mechanical sympathy with it. I appreciate that the vast majority of Rust's D&E happened in the…
on “Rust in 2016” ↗…people, but also makes ones such as yours truly withhold from answering due to the connotations, and requires prefaces of this kind to address their apprehensions.) Software Engineering About C++: The Design and Evolution of C++ and The C++ Programming Language, both by Bjarne Stroustrup, the creator of C++. The first one is a snapshot of his philosophy during early years of C++ and is useful to understand the motivations etc.…
on “Ask HN: What are the best textbooks in your field of expertise?” ↗…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…
on “Learning C++ in 2010” ↗On a related note. I remember reading "The design and evolution of C++" where Bjarne Stroustrup explains a lot of the decisions and trade offs he had to make when he evolved C++. It is a great book because it teaches you that changing the design of software that is widely…
on “Java's Comb-Over” ↗While not a complete history, the following book, 'Design and Evolution of C++', does go into some history of other languages that influenced C++: http://www.amazon.com/The-Design-Evolution-Bjarne-Stroustrup... If you happen to be in bay area, visiting the 'Computer History…
on “Ask HN: Good books on the history of computer science?” ↗