C++ toolkit for engineers and scientists. 2nd ed. (English) Zbl 0931.68022

New York, NY: Springer. xv, 389 p. (1999).
James T. Smith is a professor of mathematics at San Francisco State University with experience in software development. His interests in Object-Oriented Programming (OOP) led to a project in which he explores how OOP techniques can be used to develop scientific and engineering application software. He designed and implemented a software toolkit called MSP (Mathematical Software Package) for numerical analysis. The book describes this software package and its usage. It is a snapshot of the MSP software package at a particular state of development. Results of further investigations can be found on the author’s internet (web) pages.
C++ (now) is a classical programming language for OOP and Borland C++ builds a comfortable and wide-spread programming environment on IBM-compatible personal computers. So the author used Borland’s C++ system together with EasyWin, a MS-Windows specific programming environment. MSP is designed as a layered model which continues the given hardware, operating system and libraries layer.
The book has been published in 1999 as a second edition, the first one appeared in 1997. It has 388 pages with nine chapters, four appendixes and an extensive list of further readings. The chapters are organized in three groups. After an introduction to some fundamental concepts of software organisation and a discussion of the Borland C++ library, programming fundamentals of scalar, vector, polynomial and matrix manipulations (MSP low-level routines) are given. The third group discusses high-level MSP routines such as eigenvalue problems and solution of systems of equations. The appendix contains selected source code and a description of the accompanying CD-ROM.
The book is very systematically built up and carefully designed. It assumes familiarity with a higher-level programming language especially with C as well as familiarity with the hard- and software (DOS and Windows) of IBM-compatible Personal Computers. Furthermore it is not an introduction to object-oriented programming nor a general introduction to C++. And it isn’t an introduction to numerical analysis too. Readers should know about three-dimensional contour integrals and about Stoke’s theorem. People with these prerequisites who are developing scientific or engineering application software with C++ can read this book with profit.
Reviewer: W.Brecht (Berlin)


68N15 Theory of programming languages
68-01 Introductory exposition (textbooks, tutorial papers, etc.) pertaining to computer science
68N19 Other programming paradigms (object-oriented, sequential, concurrent, automatic, etc.)


C++ Builder