Ada Home
July 28, 1997

Book Review

Ada 95 for C and C++ Programmers

by Simon Johnston

reviewed by Magnus Kempe

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.

About the book:
Published by Addison-Wesley
Softcover, 364 pages
1997, ISBN 0-201-40363-3
Table of Contents
-----------------
Foreword
Preface
Acknowledgments

Part 1, The core language
1. Introduction
2. Language building blocks
3. Strong typing for solid programs
4. Packages for structured programming
5. Generics for reusable programming
6. Tagged types for object oriented programming
7. Tasking for concurrent programming

Part 2, The Ada library and language annexes
1. A standard library for portable programming
2. Language annexes

Bibliography
Index
CD-ROM

This book and other introductory Ada books can be ordered on-line from the Ada Home Bookshop, in the Introduction to Ada section.

Resources


What did you think of this review?

Very interesting
Interesting
Not interesting
Too long
Just right
Too short
Too detailed
Just right
Not detailed enough
Comments:

Page last modified: 1998-02-11