Rating: Summary: Must-Have for Scientists & Engineers Interested in C++ Review: This is probably the best C++ book on the market for scientists and engineers. Yang's book rivals, yet complements Barton & Nackmann: whereas B&N provide a good overview of "big picture" design issues (but provide few example problems), Yang provides many useful examples of problems relevant to scientists (natural sciences, not computer science!) and engineers (not computer engineers!), such as linear algebra, polynomial interpolation, numerical integration, and finite differences. The usefulness of Yang's contribution is not so much in providing the numerical methods (which can be found in standard texts), but in providing examples of designs of class hierarchies and object-oriented strategies for solving numerical problems. Yang also provides an excellent discussion of performance issues, and demonstrates a number of strategies (using function objects and/or templates) for making C++ code as efficient as C or Fortran. The book is concise, yet complete in its coverage of C++, compliant with ISO/ANSI, and includes the latest features such as templates, namespaces, and the STL. I cannot comment on how well the book works as a first book in C++, but it does start at the "beginning", and the author is using it as a textbook in an undergarduate level C++ course. The writing style is clear, making it easy to follow even complex concepts. My only complaint is that the book is biased towards mathematical methods. I would have liked to see examples of object-oriented methods for simulation of physical "objects" and phenomena; similarly, the omission of a discussion of how to best represent "global" physical constants (global variables vs encapsulation in namespaces or classes, etc) was surprising. Bottom line: if you are a scientist or engineer interested in using C++ and OOP in your work, Yang's book is the only book other than Barton & Nackmann worth buying. I hope Yang goes on to write "Numerical Recipes in C++"!
Rating: Summary: best introduction to c++ Review: yang's book is unique in several ways. first, it is a concise introduction to the c++ programming language. at less than 440 pages, it contains broader coverage of the language than many books twice its size. the material on templates is particularly good. the in-depth discussion of performance issues is rare in a introductory text, and unheard of in such a small book. finally, the prose is very clear. i highly recommend this book for intermediate programmers who are fluent in another language (for me perl and java), but need to learn c++.
|