Book Review

Ada 95 for C and C++ Programmers

by Simon Johnston

This excellent book will provide the skills and motivation needed by
professional C and/or C++ programmers who are interested in learning
Ada 95 and who want a quick conversion path.

The author promises at the outset (quite reasonably for current Ada users,
but maybe surprisingly for many C and C++ programmers) a tool that can
eradicate most pointer problems, that will solve all array bounds problems,
and that wipes out all header inconsistency issues.

The tool is Ada 95, and the author uses his fluency in all three languages
to explain how and why Ada 95 helps quality-conscious programmers in those
and many other software engineering issues.

In nine chapters, the author shows clearly everything needed to program in Ada 95,
taking into account not only differences in syntax but also conceptual differences
in how the languages deal with a variety of software problems related to code solidity,
structure, reuse, object-orientation, and concurrency.

Johnston helps C and C++ programmers to understand Ada 95 and shows where
it will benefit them as software engineers. This aspect of the book could
be a welcome addition to the arsenal of software developers who are sometimes
faced with incompetent advocacy of C++ for e.g. safety-critical systems (as
some Ada users have unfortunately reported in the past).

The correspondences between C/C++ idioms and Ada 95 ones are extensively described,
and many advantages of Ada 95 are underscored; the author does not criticize C and/or
C++ lightly, and pays tribute to their useful features when appropriate. The prose
is fluid, thus helping the reader to more easily absorb the wealth of information
that is presented.

Both the core language (including tasking) and the annexes are presented.
Built around a case study (point of sales systems) the text is filled with practical
advice and real-life examples that will certainly appeal to the serious programmer.

The book includes a CD-ROM containing examples of the code used in the text,
excerpts from the text in HTML, and a special version of the Aonix ObjectAda
compiler for Windows NT/95.

C and C++ software developers who value high-level programming languages will
find in this book a pleasant and accurate introduction to Ada 95. Certainly they
will emerge either full of enthusiasm for Ada 95 --and desirous to convert their development
environment for future projects-- or at the least emulous of Ada's powerful features
and better aware of problems they may face when using the C-family of programming languages.

Ada software developers will find in this book confirmation of Ada's qualities
and probably some new insights into the similarities and differences
between Ada 95 and C/C++.

Contains an abundance of code examples, a useful bibliography, a detailed index, and a CD-ROM.

About the author:

Simon Johnston is a member of the Architecture and Platform Technology Group
at ICL Retail Systems Europe where he is responsible for the architectural
design and implementation of advanced in-store and enterprise solutions for
major retailers all over the world. He is also a member of the marketing
committee of Ada Language UK.