He's not dead, he's resting
The C++ Books List
May 13, 2008Posted by on
The current “C++ books worth reading” list is as follows:
- If you can already code, work your way through the next section in order. If you can’t, don’t learn C++ as your first language.
- “The C++ Programming Language”, 3rd Ed, Bjarne Stroustrup.
- “The C++ Standard Library: A Tutorial and Reference”, 1st Ed, Nicolai M. Josuttis.
- “The C++ Standard Library Extensions: A Tutorial and Reference”, 1st Ed, Pete Becker. This covers TR1, which isn’t fully implemented in most compilers yet.
- “C++ Templates: The Complete Guide”, 1st Ed, David Vandevoorde and Nicolai M. Josuttis.
- “Standard C++ IO Streams and Locales: Advanced Programmers Guide and Reference”, 1st Ed, Angelika Langer, Klaus Kreft.
- “Effective C++: 55 Specific Ways to Improve Your Programs and Designs”, 3rd Ed, Scott Meyers.
- “Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library”, 1st Ed.
- “More Effective C++: 35 New Ways to Improve Your Programs and Designs”, 1st Ed, Scott Meyers. Somewhat dated in parts.
- “Modern C++ Design: Generic Programming and Design Patterns Applied”, 1st Ed, Andrei Alexandrescu. Note that using any technique mentioned in this book is liable to get you kicked in the face, but being aware of said techniques is useful.
- “Design Patterns: Elements of Reusable Object-Oriented Software”, 1st Ed, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Better known as “Gang of Four”. Not C++ specific.
- “Patterns of Enterprise Application Architecture”, 1st Ed, Martin Fowler.
- “xUnit Test Patterns: Refactoring Test Code”, Gerard Meszaros.
- “Patterns for Parallel Programming”, 1st Ed, Timothy G. Mattson, Beverly A. Sanders, Berna L. Massingill.
Behind the Scenes
- “Inside the C++ Object Model”, 1st Ed., Stanley B. Lippman.
- “The Design and Evolution of C++”, 1st Ed, Bjarne Stroustrup.
- “Advanced Programming in the Unix Environment”, 2nd Ed, W. Richard Stevens, Stephen A. Rago. C, not C++.
- “Linux System Programming”, 1st Ed, Robert Love. Again, C.
Algorithms and Tools
- “Mastering Regular Expressions”, 3nd Ed, Jeffrey E. F. Friedl. No mention of C++.
- “Synchronization Algorithms and Concurrent Programming”, 1st Ed, Gadi Taubenfeld.