Angelika Langer - Training & Consulting

 
HOME | SEMINARS | TALKS | ARTICLES | BOOKS | LINKS | IOSTREAMS | GENERICS | ABOUT | NEWSLETTER | CONTACT | SITEMAP
C++ Programming - Recommended Reading

Books  
HOME 
SEMINARS 
TALKS 
ARTICLES 

BOOKS

  OVERVIEW
  REVIEWS

  BIBLIOGRAPHY    
    J2SE
    J2EE
    CORE C++
    STL
    TEMPLATES
    IOSTREAMS
    CONCURRENCY
    I18N
    PATTERNS
    OOA/OOD
    TESTING
    MANAGEMENT
 

LINKS 
IOSTREAMS 
GENERICS 
ABOUT 
NEWSLETTER 
CONTACT 
SITEMAP 
I maintain this book list for use of my readers, customers, attendants of my courses, and everybody else who is interested. The list does not aim to be complete in any way; it  contains titles that I personally find worth reading. The order in which titles are listed does not imply any judgement of the books; instead the ordering is by topic from essentials of common interest to titles devoted to more esoteric, special-interest issues.

Note:  I do not sell these books!  Please, do not send me orders. Contact your favorite book store for any purchases you want to make. 


 

C++ Programming - Recommended Reading

The C++ Programming Language

The C++ Programming Language, 3rd Ed.
Bjarne Stroustrup 
Addison-Wesley, July 1997 
ISBN: 0201889544 
REVIEW The C++ Programming Language, Special Edition 
Bjarne Stroustrup 
Addison Wesley, February 2000 
ISBN: 0201700735
C++ Solutions : Companion to the C++ Programming Language
David Vandevoorde 
Addison-Wesley, August 1998 
ISBN: 0201309653 
Written by the inventor of C++, who is also an influential member of the ANSI/ISO Standard Committee.  The book covers the language in its entirety. This is the most comprehensive book on C++ that is currently available and a must-read for every C++ programmer. Go to the author's BOOK PAGE for further information.
The special edition has two additional appendices on locales and exception-safety in the STL. These two topics had been mostly neglected in the 3rd edition. 

I don't know how good the answer book is, but considering that David Vondervoorde is of the 3 legendary compiler constructors at EDG (Edison Design Group), I would think it must be pretty good. 
 

C++ in a Nutshell
Ray Lischner 
O'Reilly & Associates, Mai 2003 
ISBN: 059600298X
A comprehensive reference to the language and the standard library.  The book is amazingly good. The library reference has entries for all parts of the standard C++ library plus a complete reference of the standard C library. The language part is equally excellent and even explains widely unknown language features such as sequence points and argument dependent name lookup (also known as "Koenig" lookup). Definitely not a book for learning the language, but an excellent reference to the language.
Book Cover C++ Primer, 4th Ed.
Stanley B. Lippman & Josee Lajoie & Babara E. Moo 
Addison-Wesley, February 2005 
ISBN: 0-201-72148-1
REVIEW C++ Primer, 3rd Ed.
Stanley B. Lippman & Josee Lajoie 
Addison-Wesley, April 1998 
ISBN: 0201824701
C++Primer Answer Book
Clovis L. Tondo, Bruce P. Leung 
Addison-Wesley, December 1998 
ISBN: 0201309939 
Written by one of the first AT&T C++ compiler writers and long time editor of the C++ report (Stan Lippman) and the chair of the core language working group of the ANSI/ISO Standard Committee (Josée Lajoie). This book  covers the entire language including templates. Although this is an introductory textbook it includes discussions of more advanced language features, which are clearly marked as such, so that the novice can skip them. 
The 4th edition has been completely revised and rewritten and enhanced by numerous pedagogical aids. A good and comprehensive text book for learning C++.
REVIEW Accelerated C++: Practical Programming by Example
Andrew Koenig, Barbara E. Moo 
Addison-Wesley, August 14, 2000 
ISBN: 020170353X
 This is an interesting alternative to other C++ textbooks. It teaches C++ as a mix of syntax and 'advanced' concepts right from the beginning. Very early on you find yourself using the power and simplicity of the STL to write some pretty cool programs. A truly refreshing approach to C++.
REVIEW Essential C++
Stanley B. Lippman 
Addison-Wesley, October 1999 
ISBN: 0201485184 
Written by the author of the C++ Primer this book aims to explain the essentials of C++ in 300 pages, where coverage of the entire language in the C++ Primer take  more than 1200 pages. For those who need to learn C++ real quick.
only available in German Programmieren in C++ - Einführung in den Sprachstandard
Martin Schader & Stefan Kuhlins 
Springer-Verlag, 1998 
ISBN: 3540637761
This book was highly recommended by a student of mine (Otto Böhrer, SAP AG) who brought this book to my attention;  I pass on the recommendation here. The authors are professors at a German university and seemingly excel at their didactic skills, which contribute greatly to the value of this book.
C++ Faq's, 2nd Rev edition 
Marshall P. Cline, Greg A. Lomow, Mike Girou 
Addison-Wesley, November 1998 
ISBN: 0201309831
Written primarily by the guy that “answered everyone questions” on the internet during the early days of C++, the book expands on the publicly available C++ faq which was maintained by Cline for years.  Lots of small points, some insightful and relevant, some not.  Good for browsing periodically to stimulate contemplation of lots of C++ topics.
Thinking in C++, Volume 1: Introduction to Standard C++
Bruce Eckel 
Prentice Hall, March 2000 
ISBN: 0139798099
Thinking in C++, Volume 2: Practical Programming
Bruce Eckel & Chuck Allison 
Prentice Hall, December 2003 
ISBN: 0130353132
An introduction to C++ in two volumes.  Available for DOWNLOAD at Bruce Eckel's website.

Best Practice C++ Programming

Book Cover Effective C++:  55 Specific Ways to Improve Your Programs and Designs, 3rd Ed.
Scott Meyers 
Addison-Wesley, May 2005
ISBN: 0-321-33487-6
More Effective C++: 35 New Ways to Improve Your Programs and Designs
Scott Meyers 
Addison-Wesley, December 1995 
ISBN: 020163371X
Written by a former columnist of C++ Report and a recognized authority on C++. These books (especially the first one) are a must-read for every C++ programmer. Provide guidelines on proper use of the language and give invaluable advice on avoiding common traps and pitfalls in C++. Does not cover all of the new language features; templates are excluded, but exceptions and run-time type information are covered to some extent. 
Go to the author's BOOK PAGE for a list of errata and other information related to these books.
Both books are also available on a combined CD .
C++ Gotchas: Avoiding Common Problems in Coding and Design
Stephen C. Dewhurst 
Addison-Wesley, Dezember 2002 
ISBN: 0321125185
Similar to Scott Meyers's books, the author presents 99 "gotchas" - common and preventable problems in C++ programming and design, from minor syntactic annoyances to basic design flaws and psychological behaviour. He shows how to avoid such problems. 
REVIEW Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Exception-Safety Solutions
Herb Sutter 
Addison-Wesley, December 1999 
ISBN: 0201615622 
More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions
Herb Sutter 
Addison-Wesley, December 2001 
ISBN: 020170434X
Book Cover Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions
Herb Sutter 
Addison-Wesley, July 2004
ISBN: 0-201-76042-8
Three books  in the tradition of Scott Meyers' Effective C++ volumes, organized in smaller sections (the 40+ items). It presents common C++ errors and corresponding solutions in digestible pieces.and includes "new" language features such as exception handling, namespaces, and the STL, but also more classical problem domains such as class design and memory management. 
Go to the author's boo pages ( Exceptional C++ / More Exceptional C++ / Exceptional C++ Style ) for errata and further information.

C++ Programming Guides

Book Cover C++ Coding Standards: 101 Rules, Guidelines, and Best Practices
Herb Sutter & Andrei Alexandrescu
Addison Wesley, October 2004
ISBN: 0-321-11358-6
A collection of programming guidelines covering all of C++, including templates and the standard library. 
Industrial Strength C++ : Rules and Recommendations
Mats Henricson, Erik Nyquist 
Prentice Hall, November 1996 
ISBN: 0131209655 
A collection of programming guidelines covering core C++, that is, there is nothing about template programming.  Still, it is a very useful collection of best practice coding styles. Some of my customers decided to use this book instead of putting together a company-specific style guide.  The initial online document that the book is based on is available for download ( click here ).
cover Taligent's Guide to Designing Programs: Well-Mannered Object-Oriented Design in C++
Jorge Martins 
Addison-Wesley, May 1994 
ISBN: 0201408880
Yet another set of programming guidelines. Very recommendable.  The book is out of print, as far as I know, but the guide is available online ( click here ).

The C++ Standard

The C++ Standard
British Standards Institute 
John Wiley & Sons, December 2003 
ISBN: 0470846747
The complete C++ standard as approved by international standards bodies (ISO and ANSI) including corrigenda integrated. The most up-to-date and the only available bound version of the C++ standard.

Other C++ Topics

REVIEW Large-Scale C++ Software Design
John S. Lakos 
Addison-Wesley, July 1996 
ISBN: 0201633620
An advanced text that is unique in covering physical design issues relevant for very large systems. The author explains techniques for reducing the degree of interdependency among the physical entities of a C++ system. It is also recommended reading for developers in smaller projects because the suggested techniques are good practice and scale well.
REVIEW Efficient C++: Performance Programming Techniques
Dov Bulka & David Mayhew 
Addison-Wesley, October 1999 
ISBN: 0201379503 
Covers a broad range of efficiency-related topics, including coding style, design optimizations, concurrency control, and even system architecture dependencies. It examines all potentially inefficient C++ language constructs, demonstrates misuse, and suggests remedies. 
REVIEW Inside the C++ Object Model
Stanley B. Lippman 
Addison-Wesley, May 1996 
ISBN: 0201834545
 Written by the leader of the cfront 2.1 and 3.0 compiler team at AT&T and former editor of the C++ report.  A must-read for every C++ programmer who is interested in the inner workings of C++.  Focuses on the implementation models used by C++ compilers.  Of interest to advanced C++ programmers who want to know exactly how code is compiled and what object code is generated, although some of the information involves esoteric features and special cases that rarely appear in practice.  For instance, the author explains the virtual function table mechanism as well as the intricacies of multiple inheritance.  While this  sounds it's for nerds only, it is really aids understanding of the language.
The Design and Evolution of C++
Bjarne Stroustrup 
Addison-Wesley 
ISBN 0-201-54330-3
The book provides background information in that it discusses various design options that were considered during the development and standardization of the C++ programming language.  Go to the author's BOOK PAGE for further information.
Advanced C++ Programming Styles and Idioms
James O. Coplien 
Addison-Wesley, September 1991 
ISBN: 0201548550 
A classic text filled with excellent discussion of advanced C++ techniques such as functors,  virtual constructors, reference counting, etc.  Written by one of the pioneers of the subject of object-oriented design patterns.  Also contains discussions on more abstract topics such as the appropriate use of inheritance and the different types of reuse.  Showing its age a bit these days, but still definitely worth reading. 
Source code examples are available at the author's BOOK PAGE
See also the author's article on C++ Idioms .
REVIEW Multi-Paradigm Design for C++
James O. Coplien, James Rigney 
Addison-Wesley, October 1998 
ISBN: 0201824671 
Discusses the various design options that C++ programmers have available.  An excellent comparison of object-oriented vs. generic program design.  Go to the author's BOOK PAGE for a the errata list. 
REVIEW C++ Templates - The Complete Guide
David Vandervoorde, Nicolai M. Josuttis
Addison-Wesley, November 2002 
ISBN: 0201734842 
A wonderful book about template programming in C++.  It consists of a tutorial, which I did not much care for; it's basically what you find in every C++ text book.  But it has a section about  template language features, which is the best part of the book; it provides not yet published insight into the inner working of templates.  The third part is about template programming techniques.  It's a little scattershot and for the experienced C++ programmer it does not provide any surprisingly new insights, but the authors did a good job in distilling the essence of modern template programming techniques from several available template libraries.  By and large an highly recommended book. Go to the authors' BOOK PAGE for a list of errata and related information.
Scientific and Engineering C++: 
An Introduction With Advanced Techniques and Examples
John J. Barton, Lee R. Nackman 
Addison-Wesley, July 1994 
ISBN: 0201533936 
Written by members of a research staff at IBM who worked on techniques for using C++ in numerical analysis. In order to meet the performance criteria that are essential for numerical computations they developed sophisticated ways of using C++ templates. The book is tough reading, but the presented ideas are compelling. A book that didn’t get the attention is deserves, maybe because of its slightly misleading title – it’s also a text about template programming in C++.
REVIEW Modern C++ Design: Generic Programming and Design Patterns Applied
Andrei Alexandrescu 
Addison-Wesley, February 2001 
ISBN: 0201704315
An interesting book for C++ programmers who want to explore C++ template programming in greater depth.  Demonstrates innovative and creative ways of using templates for efficient problem solving in C++ programs. 

The book is accompanied by a library, the Loki library implemented by Andrei Alexandrescu in conjunction with this book. 
The source code is available for download from SourceForgeNet .

Book Cover C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond
David Abrahams & Aleksey Gurtovoy
Addison Wesley, December 2004
ISBN: 0-321-22725-5
A must-read for C++ programmers interested in template metaprogramming techniques.
Designing and Coding Reusable C++
Martin D. Carroll, Margaret A. Ellis 
Addison-Wesley, February 1995 
ISBN: 020151284X 
C++ Programming Style
Tom Cargill 
Addison-Wesley, August 1992 
ISBN: 0201563657 
C++ Strategies and Tactics
Robert B. Murray 
Addison-Wesley, May 1993
ISBN: 0201563827
REVIEW C & C++ Code Capsules : A Guide for Practitioners
Chuck Allison 
Prentice Hall, 1998 
ISBN: 0135917859
C++ Distilled : A Concise Ansi/Iso Reference and Style Guide
Ira Pohl 
Addison-Wesley, November 1996 
ISBN: 0201695871

 

 
© Copyright 1995-2009 by Angelika Langer.  All Rights Reserved.    URL: < http://www.AngelikaLanger.com/Resources/Books/C++.htm  last update: 9 Feb 2009