C and C++ Book Recommendations

The C Programming Language (2nd Edition)
* Authors: Dennis Ritchie and Brian Kernighan
* Level: intermediate
* Prentice Hall, 1988, ISBN 0-13-110370-9
* Comments: The definitive resource on the C language written by 
            its creator. The book is clear, concise and correct.  
            It is considered a classic by many computer professionals.  
            As quoted by the authors:  "C is not a big language, and is 
            not well served by a big book." Appendix A, the reference 
            manual, is meant for easy comprehension by programmers.  

On 11 January 1999, Dennis Ritchie posted some comments about the book to the Usenet.

The Standard C Library
* Author: P.J. Plauger
* Level: intermediate/advanced
* Prentice Hall, 1991, ISBN 0-13-838012-0
* Comments: The definitive resource on the Standard C Library.  
            The book shows you how to use all of the library functions 
            mandated by the ANSI and ISO Standards for the programming 
            language C.  The book explains how the library was meant to 
            be used and how it can be used.  The book shows many 
            principles of library design in general.  An important reason 
            for the success of C++ is that it's built atop C.  As a result, 
            C++ programs can make use of the extensive Standard C library.  
            The Standard C library is an important adjunct to C++.

C and C++ are two separate languages. Just because you may be C programmer does not make you a C++ programmer. The following are some of my favorite C++ books.


C++ For Everyone
* Author: Horstmann
* Level: introductory
* Wiley, 1997, ISBN 978-0-470-92713-7
* Comments: This is an excellent introductory book that covers the 
            essentials of C++ rather than the entire language.  As
            a result, it is a small book that is easily read.  Horstmann 
            has a writing style that makes the material clear and easy 
            to understand (plus, he has a sense of humor).  I consider
            all of Horstmann's books to be good buys.
Navigating C++ and Object-Oriented Design
* Authors: Anderson and Anderson
* Level: intermediate/advanced
* Prentice-Hall, 1998, ISBN 0-13-532748-2
* Comments: This is a new book (1998) that looks particularly good.  
            Its goal is to provide a C++ reference book, a tutorial for 
            C++ beginners, and an advanced book.  It appears to be 
            up-to-date with the ANSI C++ standard.  
The C++ Programming Language (4th Edition)
* Author: Bjarne Stroustrup
* Level: advanced
* Addison-Wesley, 1997, ISBN 0-201-88954-4
* Comments: This is an extremely well written book for serious 
            C++ programmers. The author, Bjarne Stroustrup, is the 
            designer and original implementor of C++.  The book is based 
            on the ANSI/ISO C++ final draft and it covers the C++ 
            language, its standard library, and key design techniques as 
            an integrated whole.  This is probably the most accurate C++ 
            book available.
The Design and Evolution of C++
* Author: Bjarne Stroustrup
* Level: intermediate/advanced
* Addison-Wesley, 1994, ISBN 0-201-54330-3
* Comments: Written by Bjarne Stroustrup, the designer of C++, 
            this book presents an insider's guide to the design and 
            development of the C++ programming language.  C++ is a 
            great language designed by a great programmer and this 
            book offers a unique opportunity to see the thought process 
            behind designing a language.  Although easy to read, the 
            book does read best given a good understanding of C++.