Tournament of Books 2015

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to
for a chance to win.
Privacy Policy

Visit our stores

    Recently Viewed clear list

    Original Essays | December 8, 2014

    Marina Warner: IMG How Is Fantasy Different from Fairy Tale?

    Fairy tale is a country of the mind where there are many inhabitants stretching back into deep time, and we're like people before Babel, we speak a... Continue »


On Order

New Trade Paper
Currently out of stock.
Add to Wishlist
available for shipping or prepaid pickup only
Qty Store Section
- Local Warehouse Computer Languages- C++

Scientific and Engineering C++: An Introduction with Advanced Techniques and Examples


Scientific and Engineering C++: An Introduction with Advanced Techniques and Examples Cover




Like many scientists and engineers, much of our work involves writing computer programs. Recently we have been writing those programs in C++. We think that our programs are better and that we can do better science and engineering with these programs because they are written in C++. We think you should try C++, and we wrote this book to help you get started.

C++ is one of several new languages that use a programming style called object-oriented programming. To write large programs that are correct, readable, modifiable, affordable, and efficient requires the same creative effort and persistence characteristic of other endeavors in science and engineering. Traditional programming languages, including FORTRAN and C, force us to communicate with the computer in a demeaningly simplistic manner. C++ and an object-oriented programming style elevate the communication to a more abstract level: They provide means for investing intellectual effort to produce better-quality programs and thus better-quality science and engineering, from a given programming project.

Learning C++ will be exciting. Although most of the programming ideas used in languages like FORTRAN, PASCAL, and C are still used in object-oriented programs, the new concepts reorganize the work. Like all new fields, object-oriented programming will seem foreign and exotic. C++ embodies a decade of new ideas from computer science backed up by practical experience. These new ideas will stimulate your thinking about programming and its role in your work. We hope you will find, as we have, that this new view changes programming from a tedious, albeit engaging, process to an intellectual enterprise more comparable to the processes we employ in other scientific and engineering work.


The purpose of this book is to teach you how to use C++ and the object-oriented programming style to produce better-quality programs, with an emphasis on scientific and engineering programs. Most such programs today are written in FORTRAN or C and without the benefit of any particular programming methodology. For small programs of strictly numerical content, FORTRAN or C may be adequate. However, larger programs and programs containing nonnumerical code are too expensive to understand, to revise, and to improve if written in FORTRAN or C. We present object-oriented programming as a design and programming style that addresses these problems and C++ as a programming language designed to allow efficient use of the object-oriented style. If you are still using FORTRAN or C in your programming, we invite you to explore a new world, the world of object-oriented programming in C++.


Our book teaches object-oriented programming in C++, using examples from science and engineering. It is not a book about scientific computing or numerical analysis nor an introduction to programming. The book moves rapidly through the basic features and syntax of C++, material readily assimilated by an engineer or scientist experienced in programming or, indeed, by any experienced programmer. Our aim is to move quickly beyond syntax and rules to the more interesting and important concepts and techniques of object-oriented programming in C++. The latter part of the book applies the concepts and techniques developed to substantive examples. The examples are drawn primarily from science and engineering, but the concepts and techniques are broadly applicable.

We expect the book to be useful to three (overlapping) groups:

  1. Engineers and scientists who are experienced programmers in FORTRAN or C
  2. Professional programmers experienced in C or C++ looking for a new systematic discussion of object-oriented programming in C++
  3. C++ programmers interested in advanced examples useful as a basis for scientific and engineering programming.

In addition to programming experience, some of the examples assume the mathematical maturity typical of an undergraduate student in an engineering or scientific field.

Learning C++ and object-oriented programming will be a challenge regardless of your background. We were frankly amazed that computer programming could be so different. We hope you find this challenge stimulating and rewarding on its own; we are confident that once you understand C++ and object-oriented programming, you will not be satisfied with less.


This book was made possible by the considerable patience of our employer, the Research Division of the IBM Corporation, and the personal patience and encouragement of our managers, colleagues, friends, and families. We began work on this book when we were in the Physical Sciences (Barton) and Manufacturing Research (Nackman) departments. Our managers in those departments--Read McFeely, Franz Himpsel, and Bruce Scott; Mike Wesley, Warren Grobman, and Russ Lange--supported and encouraged our work. A special thanks to the late Mike Wesley, manager, mentor, and friend for a decade: He recognized the importance of producing quality software for engineering applications and provided the environment, encouragement, and support for learning something about how to do it. We have completed work on the book in the Computer Science department, where we enjoy the considerable support and encouragement of our manager Mark Wegman.

We are indebted to all of our colleagues at IBM Research for having made it a special place to work and learn. We especially thank Michael Karasick and Derek Lieber for helping us, over many years, to learn C++ and how to use it, and Louis Terminello for timely and gracious encouragement. We also thank Bjarne Stroustrup and the developers of IBM's C++ compiler, especially Mark Mendell, Dave Streeter, and Ernest Choi, for correspondence and encouragement while we learned and relearned C++.

We were also fortunate to have the help of many reviewers; their comments improved many aspects of the book, ranging from typography to the book's organization. The comments of James Coplien, Tom Lyons, and William Press had an especially large impact on the book. As deadlines loomed, Michael Karasick read furiously through several drafts to help us weed out the worst confusions. We also thank John L. Bradberry, Goodwin Chin, Marshall Cline, Chris Codella, Margaret Ellis, Martin Giles, Franklin Gracer, Peter Juhl, Derek Lieber, Mark Linton, Tom Linton, Stanley Lippman, Alistair McClean, John Morar, Dean Pentcheff, V. T. Rajan, John Rehr, Chris Seekamp, Steve Stevenson, Bjarne Stroustrup, Bob Sutor, Dave Tolle, Hank Walker, and Robert Wang for their many suggestions. The efforts of all these people spared you the early drafts of the book.

Debbie Lafferty, our editor at Addison-Wesley, gently prodded and encouraged us at each step of the way, carefully balancing between pushing too little and too hard.

The love of our families--Ava, Rachel, Samuel, and Joel Nackman; Cynthia Butler and John Anthony and Andrew Butler Barton--has been essential. We thank them for their patience and understanding during all those times when working on the book took time away from them.


Product Details

Barton, John J.
Nackman, Lee R.
Addison-Wesley Professional
Programming Languages - C
Programming Languages - General
C (computer program language)
Data processing
C plus plus (computer program language)
Computer Languages-C++
Edition Description:
Trade paper
Publication Date:
August 1994
Grade Level:
Professional and scholarly
9.2 x 7.2 x 1.4 in 1129 gr

Other books you might like

  1. Effective C++ 2ND Edition 50... Used Trade Paper $15.95
  2. More Effective C++ (Addison-Wesley... New Trade Paper $49.99
  3. Large-Scale C++ Software Design... Used Trade Paper $30.00
  4. Analysis Patterns: Reusable Object... New Hardcover $77.50
  5. Mythical Man Month Essays on Softwar... Used Trade Paper $33.00
  6. Numerical Methods That Work New Mass Market $59.50

Related Subjects

Computers and Internet » Computer Languages » C++

Scientific and Engineering C++: An Introduction with Advanced Techniques and Examples New Trade Paper
0 stars - 0 reviews
$72.50 Backorder
Product details 688 pages Addison-Wesley Professional - English 9780201533934 Reviews:
"Synopsis" by , 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.
  • back to top


Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at