Advertisement
Membership
Login
ACCU Buttons
Search in Book Reviews
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
I have to be honest and tell you that I get irritated by this kind of book. The title starts the problem for me. You would expect (or at least I would) a book that starts with the assumption that the reader is familiar with programming and C++ in particular. You would be mistaken.
This is an introductory text on C++ aimed at scientists and engineers. That would be OK if the book tackled programming in C++ in a way that is appropriate to what I call the incidental programmer - someone who needs to program as part of their work or profession but who is a professional in some other discipline. Such people need a good clear introduction on how to express the problems of their discipline in C++. They need the full power of the high-level abstractions provided by the Standard Library (and should be told about both Boost and other specialist quality libraries).
What these people do not need is a tedious introduction to low level C++ with a lot of emphasis on its C ancestry.
Let me give you an example of what sticks in my
gullet. The author wants to spend some time on
operator overloading so he writes a chapter on
implementing classes for complex numbers,
vectors (mathematical ones) and matrices. The
first of these is already fully designed and
implemented in the Standard Library complete
with specialisations for all the floating point
types and facilities for mixing the different
specialisations. What we find in the book is a
partial implementation of a complex number
type with doubles used for the real and
imaginary parts. There is no discussion of the
reasons for the design. For example, the author
correctly implementsoperator+
in terms ofoperator+=
but give no explanation.
Later, in chapter 7 (on templates), he gives the
briefest of introductions to the Standardcomplex<>
types.
Perhaps I should not go on, because I clearly have no sympathy for the author's approach. From my perspective the material is too low level, too skimpy, lacks explanation of either how the implementation works or how the reader might use C++ in his/her discipline. This book is clearly ill-suited to the ordinary novice and, in my opinion, does not tackle the use of C++ by mathematicians, scientists or engineers. There is a place for a good clear introduction to numerical programming using C++ but this book is not it.