4 C++ Toolkit for
Engineers
and Scientists
languages don't encounter
so
many low-level tasks. The book's
MSP
modules
for
vector, matrix,
and polynomial algebra allow you to perform these tasks
easily,
usually with efficient grace. Its
higher-level modules
for
solving equations and systems of equations show you how to build
powerful application software based on the low-level
OOP
routines.
You
see
here just a snapshot of the ongoing MSP project. This package, and your own MSP
modifications and enhancements, will continue to evolve. The original MSP version [49,
50}
was
hampered because Borland
C+
+ didn't yet implement two essential
C+
+ features--class tem-
plates and exception handling. In
The
Annotated
C++
Reference
Manual
[II},
C++ designer B jarne
Stroustrup described those features
as
experimental; they hadn't yet become standardized. They
are
now,
however, and
the
current
MSP
thoroughly
utilizes
templates
and
exception
handling.
Evolution
ofC+ + continues,
but
more slowly, and will no doubt trigger some future changes in
MSP.
Finally,
OOP
itself
is
an area of active computer science research. During the next
few
years, new ideas
will result in new and modified languages and ultimately produce major trends in commercial
software development. Further
MSP
development will likely depend on my projected study of
OOP
techniques
for
handling functions
as
data, which seems necessary
for
graceful and general
implementation
of
integration and differential equations techniques.
Thus, you should approach C+ + application software development with enthusiasm
but
with
caution, too. The language, its
OOP
techniques, and this book will allow you to write programs
more effectively and gracefully and
to
easily implement algorithms that would present major
difficulties with other languages. On the other hand, your programs might not remain current
for
long. Your new techniques will be supplanted with newer ones, you'll develop even greater
power
as
a programmer, and you'll soon want
to
redo your work to achieve the ultimate in
effectiveness and grace. But that won't be the end, either.
The evolution of C+ +
as
a research tool notwithstanding, this language will be used
for
developing production application software. The widespread availability of Borland C+ + and
comparable compilers, and the industry's continued support of these powerful and convenient
tools, will ensure that. Therefore, you may well need to develop scientific or engineering
application software in C+ +
to
achieve compatibility with other C+ + software.
If
that's the case,
this book will clarify the issues and help you get started with an exciting programming project.
Prerequisites
What
must you know
before
reading this book?
It
assumes you're a skilled programmer in some
higher-level language, and you're familiar with
C.
Most
C+
+ features that go beyond the C
language are described in this book,
but
not in complete detail. You'll need a general C+ + manual
or text.
With
hardware concepts you need only minimal acquaintance: There's occasional
reference
to
memory organization, the stack, and registers. To become adept with Borland C+ +,