This book is not intended to teach readers the Ada programming language
. Readers should already be familiar with Ada syntax and semantics. The goal is to share author's experiences on using Ada in engineering applications. Hopefully, this book will be able to help readers to avoid some common pitfalls. Most of all, readers can fill their bag-of-tricks with some reusable Ada routines.
The rest of this book is divided into four main topics. The first topic
is numeric considerations. The examples Chapter 2 illustrate the things readers need to think about whenever their program does non-trivial calculations. This includes obvious things like how many bits will be needed for integers, and what floating-point data type to use, but it also includes some things they probably haven't been exposed to before. The idea of letting the compiler check the consistency of the dimensional quantities in equations is a new innovation made possible by the Ada language.
The second topic
is the user interface, another difficult problem most programs have to deal with. People aren't as predictable and consistent as mechanical devices are, which makes user interfaces difficult to design. This is an area with a lot of potential for reusable software. Chapter 3 is full of utility routines that should be very useful.
The third topic
is more rigorous software engineering. Contrary to what we've often heard, the whole is more than the sum of its parts. Even if we have all the pieces, they aren't worth much if we don't know how to put them together. Chapter 4 shows several examples of small-scale programming, and one example of more rigorous software engineering.
The last topic
is testing. This is saved for last because writing code is easy; making sure it works correctly is hard. Over the years, the author has used a variety of methods to check code, and Chapter 5 talks about them.