[ Home | Resume | Programming | Engineering Philosophy | Family ]

Suggested C++ Reading List

Here is my list (in order) of references for a good C programmer to read to learn how to become a good C++ programmer:

1. C++: The Core Language

Written with the C programmer in mind, this book explains what C++ is all about, why it's good, and how to avoid some of the basic pitfalls. If you aren't already proficient in C, start with Accelerated C++ instead.

2. C++ FAQs

This book is especially good at explaining why there are certain capabilities of the C++ that you should avoid even though they are tempting. Follow its advice and you can reap most of the benefits of C++ while staying out of trouble.

3. The C++ Standard Library: A Tutorial and Reference

Understanding the standard library is important. You will be a much more effective programmer if you make use of the library's extensive, flexible, high-quality capabilities. You'll also learn a lot about templates from this book.

4. Design Patterns: Elements of Reusable Object-Oriented Software

Possibly the definitive reference for object-oriented design, this book recites specific techniques for organizing classes to meet programming objectives rapidly and maintainably. It also establishes a vocabulary of design that makes complex relationships easy to describe. There's nothing here you couldn't figure out by yourself eventually, but it might otherwise take a decade or two.

5. Effective C++ on CD-ROM

Now that you basically know how to write C++ programs from scratch, it's time for an overall review of the language. There's not too much here that you haven't seen in the earlier references on this list, but it never hurts to recap important stuff like this. This reference is also good for browsing and for citing with URL's.

6. Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions

By now you probably think you're a hot shot C++ programmer. Time for some humble pie. The insights to be gleaned from this book are deep and valuable. You can't easily skip to this one, because it relies heavily on the information contained the previous books on this list.

7. Guru of the Week

This web site is basically a continuation of Exceptional C++. Enjoy!

Anders Johnson, last modified $Date: 2004/02/25 $

[ Home | Resume | Programming | Engineering Philosophy | Family ]