C++ Without Fear Book Review

C++
Without Fear, by Brian Overland, is designed to be a first
introduction to programming in C++. While you won't find every single feature
of the language, it does cover a significant portion of what you need when
starting out--everything from the basics such as if statements, loops, and
functions to arrays, pointers and dynamic memory allocation, file i/o, and
many features of classes. Overland even discusses exception handling, which
is a nice touch. Another nice touch
is the included CD, which comes with a C++ compiler that runs on any Windows
machine. Having an easy-to-install compiler can significantly speed your
introduction to the language. Perhaps the most noticeable omission is a
complete lack of coverage of templates, but this may be a reasonable choice for
a book designed for beginners.

The writing style and formatting are accessible. Overland writes clearly and
capably describes concepts rather than simply avoiding them and hoping the
reader doesn't notice. A nice feature of the book is that each example is
accompanied by a "How it Works" section that clearly explains what's going on.
Because it's well-labeled, if you feel comfortable with an example program, you
can safely skip it. I also appreciated his tendency to give hints that a
feature was going to be covered in more detail later--often, readers get stuck
re-reading a paragraph to extract some key meaning that doesn't get answered
until the next paragraph or page, but Overland frequently notes when this is
the case. This makes for easier reading and less confusion.

The one downside to C++ Without Fear is that Overland's writing isn't
completely up-to-date on some minor issues of C++ standards. For instance, the
header file stdlib.h should be replaced with cstdlib, but his examples do not
reflect this. Fortunately, most of these mistakes are minor, and he avoids
many of the common pitfalls of poor introductions to C/C++, such as using void
main or completely avoiding the topic of namespaces. On the other hand, he
does treat topics like strings very well, explaining both the old c-style
strings and the newer C++ style strings.

Because C++ Without Fear comes with a compiler, it is an excellent
choice for anyone who wishes to avoid many of the hassles that normally
accompany installing and setting up a compiler for the first time. Moreover,
C++ Without Fear includes a reasonable number of exercises to give readers
some ideas for practicing what they have learned. The exercises aren't
particularly deep or interesting, but they will give some finger practice.

Summary

Pros

Readable, but fairly comprehensive introduction to C++

Included compiler makes getting started easier

Generous explanations for how the many example programs work

Periodic "interludes" cover move advanced side topics of interest to some readers but not necessary for the main text

Cons

Somewhat light coverage of certain language features, such as templates