Table of contents
About this book
The major problems of modern software involve finding effective techniques and tools for organizing and maintaining large, complex programs. The key concept in modern programming for controlling complexity is abstraction; that is, selective emphasis on detail. This monograph discusses how the Ada programming language provides ways to support and exploit such abstraction techniques. The monograph is organized into two parts. The first part traces the important ideas of modern programming languages to their roots in the languages of the past decade and shows how modern languages, such as Ada, respond to contemporary problems in software development. The second part examines five problems to be programmed using Ada. For each problem, a complete Ada program is given, followed by a discussion of how the Ada language affected various design decisions. These problems were selected to be as practical as possible rather than to illustrate any particular set of language features. Much of this material has appeared previously in print. An earlier version of the first section, by Mary Shaw, was published as "The Impact of Abstraction Concerns on Modern Programming Languages" in the Proceedings of the IEEE special issue on Software Engineering, September 1980, Vol. 68, No. 9, pages 1119·1130. It is reprinted with the IEEE's permission. The article has been updated to reflect the revised Ada syntax and semantics.
Ada Pascal algorithms data types programming programming language scheduling semantics