arcs

 

 

Annotated C++ Bibliography



General Comments


The notes below give brief personal comments on a number of C++ books. A far more comprehensive set of reviews - including many on other programming languages and topics - is to be found at the ACCU site .



Reference Texts


The C++ Programming Language 3e , Bjarne Stroustrup ,
Addison-Wesley , 1997
ISBN: 0-201-88954-4

If you were to get only one C++ book, it should be this. Invaluable as a reference and reference text. (Though it is slightly 'heavy' for some. Note that there have been several printings since the above date. Errata corrected in these, as well as other papers, are posted at the author's website. Despite the title, the book - like the C++ standard - has a major emphasis on the standard library.


The C++ Standard Library , Nicolai Josuttis ,
Addison-Wesley , 1999
ISBN: 0-201-37926-0

The best tutorial and reference on the standard library. Corrections at the author's site.


The C++ Standard ,
John Wiley and Sons , 2003
ISBN: 0470846747

An electronic version of the standard is available from ANSI. (As well as an expensive hard copy.) If you want a book version, then this is the one.


Learner's Texts

 

There are many, many, books on learning C++. Which ones are best will depend on the reader. Prior knowledge (e.g. of C, or Java), preferred styles of text (abstract treatments or using concrete examples), and other individual factors will make a book more or less suitable for an individual. (There are also many, many, 'bad' books on C++. These include those that are filled with errors of fact, and, more subjectively, showing poor style and choice of emphasis.) The selection below are judged the best of those seen to date.

Programming -- Principles and Practice Using C++, Bjarne Stroustrup,
Addison-Wesley, 2008
ISBN-13: 978-0-321-54372-1
ISBN-10:       0-321-54372-6

A fairly broad and deep introduction to programming, using modern C++. It can also be used by programmers who are already capable in other language(s), or even have had some basic, traditional, training in C++.


Accelerated C++ , Andrew Koenig and Barbara Moo,
Addison-Wesley, 2000
ISBN: 0-201-70353-X

This book takes an unusual approach. Rather than focussing on syntax, or language-related concepts, it teaches by setting problems, showing how they can be solved using facilities from the C++ standard library. (Necessarily picking up language features en-route.) The author's claim that this is a more effective teaching approach than the traditional bottom-up route in language teaching.


C++ by Example: UnderC Learning Edition , Steve Donovan ,
Que , 2001
ISBN: 0-7897-2676-9

Another unusual - but effective - book. This comes with a C and C++ interpreter, allowing the learner to experiment with small fragments of code, and get immediate feedback as they enter and amend these fragments. (As opposed to dealing with whole programs, including source lines irrelevant to the point in hand; and suffering a compile-build-execute cycle of several seconds between entering the code and seeing the results.) The text is very helpful, and touches on a number of interesting topics. This is slightly marred by a very small number of typos, and errors. (The supplied CD also includes a version of Quincy, a free C++ IDE. The author has updated his interpreter software since the book's CD was produced.)


Teach Yourself C++ 7e , Al Stevens ,
Wiley , 2003
ISBN: 0-7645-2644-8

A very readable and comprehensive book on the language. It uses many good concrete examples of the features being discussed. The treatment of locales is possibly the most practical and comprehensive in any general C++ text. (Indeed this subject is often given little coverage, or even ignored completely.) The supplied CD includes the free Quincy IDE, as well as examples from the book.


Computing Concepts with C++ Essentials 3e , Cay Horstmann ,
Wiley , 2002
ISBN: 0-471-16437-2


Object-Oriented Programming in C++ , Nicolai M. Josuttis ,
Wiley , 2002
ISBN: 0-470-84399-3

C++ Primer 4e , Stanley Lippman, Josee Lajoie, and Barbara Moo ,
Addison-Wesley , 2005
ISBN: 0-201-72148-1

Object-Oriented Programming in C++ , Nicolai M. Josuttis ,
Wiley , 2002
ISBN: 0-470-84399-3

You Can Program in C++ 1 , Francis Glassborow ,
Wiley , 2005
ISBN: ISBN: 0-470-01468-7

An introduction for those who can already program in at least one other language. (c.f. "You can do it!" by the same author, below.

You Can Do it! 1 , Francis Glass borow ,
Wiley , 2003
ISBN: ISBN: 0-470-01468-7

An introduction to programming and C++ for learning programmers. (c.f. "You Can Program in C++" by the same author, above.


Intermediate Texts


Effective C++ 3e , Scott Meyers ,
Addison-Wesley , 2005
ISBN: 0-321-33487-6


More Effective C++ , Scott Meyers ,
Addison-Wesley , 1996
ISBN: 0-201-63371-X


Effective C++ CD (Both of the above titles on CD - EC++ 2e) , Scott Meyers ,
Addison-Wesley,
ISBN: 0-201-31015-5


Effective STL , Scott Meyers ,
Addison-Wesley , 2001
ISBN: 0-201-74962-9


Ruminations on C++ , Andrew Koenig and Barbara Moo ,
Addison-Wesley , 1997
ISBN: 0-201-42339-1


The Design and Evolution of C++ , Bjarne Stroustrup ,
Addison-Wesley , 1994
ISBN: 0-201-54330-3


The C++ Standard Library Extensions: A Tutorial and Reference, Pete Becker,
Addison-Wesley Professional, 2006
ISBN-10: 0321412990
ISBN-13: 9780321412997

A reference and tutorial to the libraries in the report accepted by the C++ Standards Committe (TR1). These libraries are expected to be accepted within the the next C++ Standard. They have been widely available for some time, and work with current generation (C++03) compilers.


Programming Standards and Style

 

The content of these books is naturally subjective. They contain many reccommendations that are generally agreed as good practice; but some however, are not.

Exceptional C++ Style , Herb Sutter ,
Addison-Wesley , 2004
ISBN: 0-201-76042-8


C++ Coding Standards , Herb Sutter and Andrei Alexandrescu ,
Addison-Wesley , 2004
ISBN: 0-321-11358-6


Advanced Texts


Generic Programming and the STL , Matthew Austern ,
Addison-Wesley , 1999
ISBN: 0-201-30956-4


Generative Programming: Methods, Tools, and Applications , Krzysztof, Czarnecki and Ulrich Eisenecker ,
Addison-Wesley , 2000
ISBN: 0-201-30977-7

Very advanced material. (NB: not just C++.)


Applied C++ , Philip Romanik and Amy Muntz ,
Addison-Wesley , 2003
ISBN: 0-321-10894-9


Exceptional C++ , Herb Sutter ,
Addison-Wesley , 2000
ISBN: 0-201-61562-2


More Exceptional C++ , Herb Sutter ,
Addison-Wesley , 2002
ISBN: 0-201-70434-X


Modern C++ Design , Andrei Alexandrescu ,
Addison-Wesley , 2001
ISBN: 0-201-70431-5


C++ Template Metprogramming , David Abrahams and Aleksey Gurtovoy ,
Addison-Wesley , 2004
ISBN: 0-321-22725-5


C++ Templates , David Vandevoorde and Nicolai M. Josuttis ,
Addison-Wesley , 2003
ISBN: 0-201-73484-2


The Boost Graph Library , Jeremy Siek, Lie-Quan Lee, Andrew Lumsdaine ,
Addison-Wesley , 2002
ISBN: 0-201-72914-8

Ground breaking C++ design for graph algorithms and data structures. The book's CD (at least originally) required supplementing by a small download to build the code on VC++. Since the original publication, the sofware from Boost has been given several bug fixes and additional facilities.


Beyond the C++ Standard Library. An introduction to Boost. , Bjorn Karlsson ,
Addison-Wesley , 2005
ISBN: 0-321-13354-4


Standard C++ IOStreams and Locales , Angelika Langer and Klaus Kreft ,
Addison-Wesley , 2000
ISBN: 0-201-18395-1

A comprehensive and authoritative tutorial and reference book.


C++ Concurrency in Action - Practical Multithreading, Anthony Williams, EARLY ACCESS EDITION,
Manning , est. print publication date post C++0X
ISBN: 1933988770

Multi-threaded programming in C++ 0X.



Related Texts


Generative Programming: Methods, Tools, and Applications , Krzysztof, Czarnecki and Ulrich Eisenecker ,
Addison-Wesley , 2000
ISBN: 0-201-30977-7

Very advanced material. (NB: not just C++.)


Practical UML Statecharts in C/C+, 2nd Edition , Miro Samek ,
Newnes (imprint of Elsevier) , 2008
ISBN-10: 0750687061
ISBN-13: 978-0750687065

Event-driven programming for embedded systems. Strong on UML State Machine theory; review of prior art; its own framework; and specifics of real-time and embedded implementations. See also web resources in this area, and for C++ techniques. those of Boost in particular.




> Back to Top




© Copyright 2006-2010    A Ross Computing Services (Arcs) Ltd.


w3c xhtml 1.0w3c CSS