C and C++ Books

Recommended Books on C and C++


Contents


There are good books and bad books.

Warning! Any book with sample programs which begin with "void main()" or "void main(void)" is absolutely, positively not recommended by me or most other knowledgeable C and C++ programmers. This non-standard illegal definition is used by many as a litmus test. If an author does this, he/she either doesn't know or can't be bothered with learning, using, and writing about the actual languages defined by their respective International Standards. It is very likely that the author will make other subtle and not-so-subtle errors in the book.

In the past twenty-five years computers have come to pervade our society. Without elaborating on that, it does mean that the demand for computer programmers has grown almost exponentially over the past two decades. And that means a vast increase in the number of individuals studying computer programming in school, and attempting to learn on their own.

This in turn has led to a large market for books on all aspects of computers and programming, including C and C++ programming.

Unfortunately, this mass market for books on C and C++ has caused many totally unqualified authors to write books on the languages.

Many authors of books on C and C++ have never bothered to learn the actual standard for the languages. They might be familiar with a particular compiler, including all of its implementation-defined behavior, extensions, and perhaps a few compiler bugs, and not know the difference between the actual language and anything at all that their compiler will compile and execute.

In fact some of the sample code in the books of at least some authors was never tested, because it won't compile with any compiler at all!

Note that I am only talking about books which claim to represent standard C or C++, or just use the name of the language with no qualifications which amounts to the same thing. There is nothing wrong with a book which claims to teach some specific Borland C++ version, or Windows programming using some Microsoft specific class library, and which details these non-standard extensions. Even then, the book should make clear what is part of the language, and what belongs to extensions provided by the particular compiler.

There are many books available today on "advanced" topics in C and C++, like data structures, algorithms, and programming methodologies. I am sure that many of these are excellent, but they are rarely relevant in the particular types of programming so I am not familiar with them.

I will only make recommendations for books which support the standard C and C++ languages here, and deal with the basic languages themselves rather than algorithms, methodologies, or the like.


Why books are and are not on this list.

If you read the usenet C and C++ programming newsgroups or read their Frequently Asked Questions list (FAQ) you will discover quite a few different books recommended by experienced programmers, including some whose judgment I trust implicitly. But I have not included all of their recommendations on this list. The only books on this page are those which I own and have read myself, and in my judgment alone are worth recommending.

The absence of any book from this list does not mean that I think there is something wrong with it. It probably only means I do not own it and have not read it.

There are not a lot of recommended books here.

When I first learned C there was no language standard, and most of the introductory books I used to learn from are obsolete today. Many of them were good books, but equally good books are available today which do conform to the real standard. But since the standard I haven't needed introductory books.

Likewise I first learned C++ from the first edition of The C++ Programming Language by Bjarne Stroustrup. But I won't recommend that book today, as the C++ language finally standardized in 1998 underwent a lot of changes before the standard was adopted. I only have a few books which are up to date with the final standard which I can recommend.


C books I recommend.

Tutorial Book On C



C Reference Books

While K&R2 belongs on every C programmer's bookshelf, professional programmers need solid reference books at hand. Anyone who does a significant amount of programming in C, professionally or not, should have one or more of the following reference books.




Intermediate and Advanced Books On C



C++ books I recommend.

Tutorial Books On C++




Advanced Book On C++


Other sources for C and C++ book recommendations.

The Association of C and C++ Users ACCU has reviews of over 1900 books on C, C++ and Java.


[ Top ]
[ C And C++ Main Page ]
[ Home ]

This page validated by Valid HTML 3.2! W3C HTML Validation Service

©2000 By Jack Klein. All Rights Reserved.
All trademarks are acknowledged to belong to their respective owners.
Updated 29-Oct-2000