July 28, 1997
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.
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.|
Page last modified: 1998-02-11