Synopses & Reviews
Barton and Nackman explore using C++ and the object-oriented programming style in scientific and engineering programs. The book emphasizes general concepts, systematic ways of using C++ features, advanced techniques, and particular styles that will help you write object-oriented programs. Examples are drawn from scientific and engineering applications, and the concepts, techniques, and styles are broadly applicable.
The book is organized into three parts. The first part builds a working knowledge of C++. The second part introduces object-oriented programming and design techniques, emphasizing the various ways to express commonality and abstraction. The third part illustrates coordination of advanced C++ features and techniques by developing several interesting examples, including array classes, pointer classes, systems employing abstract algebra, FORTRAN-based matrices, function mapping, and data fitting.
Scientific and Engineering C++ brings the power of C++ to science and engineering programming. Highlights: builds on knowledge of both FORTRAN and C, the languages most familiar to scientists and engineers; systematically treats object-oriented programming, templates, and the C++ type system; relates the C++ programming process to expressing commonality in the design and implementation of programs; describes how to use existing FORTRAN and C subroutine libraries to implement C++ classes; introduces advanced techniques coordinating templates, inheritance, virtual function interfaces, and exceptions in substantive examples; provides examples, including an extensive family of array classes, smart pointers, class wrappers for LAPACK, classes for abstract algebra and dimensional analysis, function objects, exploiting existing C and FORTRAN libraries, automatic differentiation, and data analysis via nonlinear least squares using the singular value decomposition; and references key sources of new programming ideas and C++ programming techniques. Scientific and Engineering C++ will help engineers and scientists fluent in FORTRAN or C; professional programmers using C or C++ who are looking for a new, systematic discussion of C++ for object-oriented programming; and advanced programmers who are interested in sophisticated C++ programming techniques.
About the Author
About John J. Barton
John J. Barton is a research staff member at the IBM Thomas J. Watson Research Center in Hawthorne, NY. Dr. Barton received his BS in chemistry and an MS in applied physics from the California Institute of Technology, and his Ph.D. in chemistry from the University of California at Berkeley. His research interests include experimental and theoretical surface physics and chemistry, scientific programming, and software technologies. About Lee R. Nackman
Lee R. Nackman is a research staff member and manager at the IBM Thomas J. Watson Research Center in Hawthorne, NY. Dr. Nackman received his Sc.B. in computer science from Brown University and his Ph.D. in computer science from the University of North Carolina at Chapel Hill. His research interests include geometric modeling, applied computational geometry, finite element mesh generation, and software technologies.
Table of Contents
I. GETTING STARTED. Introduction.
Basics for FORTRAN Programmers.
Basics for C Programmers.
Functions and Classes.
Object Lifetime and Memory Management.
An Example Problem.
II. EXPRESSING COMMONALITY. Expressing Common Behavior.
Expressing Common Implementation.
Expressing Common Structure.
III. APPLICATIONS AND TECHNIQUES. Arrays.
Classes for Code Organization.
Algebraic Structure Categories.
Using Legacy Libraries.
Data Modeling in C. 0201533936T04062001