Programming Books

Introductory Textbooks

Title Author Commentary Link
The C++ Programming Language, 4th Edition
Bjarne Stroustrup I purchased my first copy of this book while I was a sophomore in high school. I already knew the basics of how to work with the language but this book helped me to put the language mechanics in context. It attempts to mirror the efforts by Kernighan and Ritchie of stair-stepping competency in the language by a series of smaller projects.

I would not recommend this book to learn the language from, if you have no prior experience. This is a book that should be read as a more experienced programmer to put the language into better context and to increase your depth.


Programming: Principles and Practice using C++, 2nd Edition

Bjarne Stroustrup This is a more proper textbook for learning how to work in and with the C++ programming language. The second edition text covers both the C++11 and C++14 standards. amazon

C++: How to Program

Paul Dietel This is one of the classic language textbooks for C++. If you have no experience with object oriented programming, or programming in general, Dietel will get you started off right. There is a more modern version of this textbook, but the cost has quintupled and the changes are unlikely to benefit a novice programmer. For more advanced users, consider the Stroustrup textbook above.  amazon

C++ Primer Plus, 6th Edition

Stephen Prata  This is a good alternative to Dietel as a first text. I recommend this text for those who already have some programming background but want to add C++ to their list of skills. amazon
  Nicolai M. Josuttis This was the first programming book I ever purchased. The Standard Template Library (STL) is the soul of the C++ programming language. This book is the absolute best reference for the design and performance of the STL in practice. It covers the design, gives insight into the most commonly used algorithms and in general is a very interesting read.  amazon

Professional Must-Reads

Title Author Commentary Link
Scott Meyers This book ranks higher in my opinion than the Gang of Four in importance. While an elementary textbook teaches the syntax and grammar of a language, this book contains the lex artis of our profession.

Learning to read and write Japanese would be an incredible feat, but writing a perfect Haiku is perfection attained. This book will help you to write a better C++ Haiku.

“Gang of Four” This sword is a Damoclean masterpiece. It reduces to tight prose the most elementary conceptualizations of our industry. For the wise, it provides a visualization of the forms of solution by which many common problems can be solved. For the unwary, it contains a series of rigid structures into which every extant problem is to be stretched and contorted to fit. amazon
Andrew Hunt This book contains a lot of very good programming philosophy. The core conception is the principle of Do not Repeat Yourself (DRY) and how to leverage it as a simplification tool in your daily work. I found this text to have a weight that far exceeds its page count. amazon
Fredrick Brooks Jr A monument to the pitfalls inherent in planning the development of a new system. This text is one of the most important books in the English language written in the last 50 years. amazon