Previous | Next | Table of Contents | Index | Program List | Copyright

2.1 About Ada

Ada was developed in the late 1970s and early 1980s at the direction of the United States Department of Defense (DoD). Although it seems hard to believe, in the mid-seventies there were several hundred languages in use in defense-oriented computer systems. DoD determined that the use of a modern and strongly standardized programming language might result in more reliable and portable software at lower cost to the taxpayer and therefore organized a competition for the best design of a new language for its needs. The result of this competition was a language, designed by the French engineer Jean Ichbiah and his international team of language experts, rich in capabilities for building software systems for general as well as defense purposes. The capabilities of Ada can be organized in a way similar to the way sections are titled in chapters of this book:

The facilities of Ada also include tasking--a powerful capability for building concurrent programs (programs containing segments that execute, or appear to execute, simultaneously)--and representation specifications--which explicitly associate high-level constructs with the lowest levels of the computer hardware. Tasking is introduced briefly in Chapter 16; representation specifications do not appear in this book. You will learn about both subjects as you continue your education in this interesting language.

The Ada Standard

A standard is a document describing a common way to do or build something. Engineering standards developed early in the twentieth century covered the sizes and shapes of mechanical fasteners such as nuts and bolts. The ability to attach a nut from one manufacturer to a bolt from another was an important advance in the industrial revolution; the automobile industry owes much of the success of mass production to standards.

In the computer industry, standards have governed the formulation and dimensions of physical media such as punched cards and magnetic tape; as computer software has grown and matured since the 1940s, so has the industry's attention to standards for programming languages. A language standard describes the structure of valid and invalid programs in the language and therefore serves as a defining document for users and compiler writers alike.

Some language standards are voluntary and represent a "lowest common denominator" subset of the language facilities. The "subset" nature of these standards makes it difficult to move a program from one compiler to another, even if both theoretically accept the same language. The Ada standard is an exception to this rule: DoD, in the interest of encouraging programs to be written in a truly common language, irrespective of computer or compiler supplier, took measures accordingly.

The reference manual for Ada (usually abbreviated RM) was adopted by the American National Standard Institute (ANSI) in January 1983, and by the International Standards Organization (ISO) in 1987. By 1991, more than 400 different Ada compilers had been validated, which means that they successfully passed a series of several thousand small test programs (known as the Ada Compiler Validation Capability, or ACVC) designed to evaluate their conformance to the standard. This unusually high degree of conformance to a language standard means that Ada programs are usually quite easy to port, or move to a different compiler on the same computer or to a different computer. To an extent unprecedented in the history of computers, Ada compilers all accept the same language.

From Ada 9X to Ada 95

In 1988, the process was begun to determine whether the Ada standard should be revised to extend the language and, if so, to design the necessary extensions. This project was called "Ada 9X": the 9X designation meant that it was intended to be completed sometime in the 1990s. This time the design team was headed by the American Tucker Taft, a language expert at Intermetrics.

The Ada 9X process ended early in 1995 with the adoption of the revised standard, now called Ada 95, by ISO (February) and ANSI (April). Six or seven years may seem a long time to revise a language standard, but in fact, every other major language revision has taken even longer. Designing a language is complex and highly specialized, and convincing a large number of organizations to approve the design and vote favorably on a national or international standard is time-consuming and requires much skill in the art of human persuasion.

The Ada 95 extensions are very interesting and useful, and many of the new features will be covered in this book. These include, among others, many changes and additions to the standard libraries as well as language constructs to support object-oriented programming. In fact, Ada 95 is the first internationally-standardized object-oriented programming language.

At this writing (summer 1995), several Ada 95 compilers are available, and the validation process is beginning.

This book introduces Ada 95 throughout. In the text, we refer simply to Ada in most cases, using the terms Ada 83 and Ada 95 for those few situations where we deem it important to distinguish between the earlier standard and the current one.

Ada's Use around the World

At this writing, Ada is being actively used by the defense software industry whose needs inspired Ada's creation. More relevant to you in your careers and your everyday lives, Ada is used in

The name Ada honors Augusta Ada Byron (1815-1852), Countess of Lovelace, the daughter of the English poet Lord Byron. Ada assisted the computer pioneer Charles Babbage in "programming" his early machines; she is therefore sometimes credited with having been the first programmer. In learning Ada you will be learning a computer language that can be used equally well for teaching introductory programming concepts and for developing large practical computer systems. Programs in Ada are relatively easy to read, understand, and maintain (keep in good working order).

The richness of Ada is such that you are learning a language that will serve you very well throughout your career, no matter how large or complex the programs you will need to write. This book introduces you to a large and useful part of the language; you will undoubtedly learn the more advanced features as your experience and interest grows. The standard nature of Ada ensures that you will be able to use everything you learn in this book about Ada, regardless of the computer or Ada compiler you use.

In the rest of this chapter we will provide a brief introduction to Ada. Statements for reading data, performing simple computations, and displaying results will be described.


Previous | Next | Table of Contents | Index | Program List | Copyright

Copyright © 1996 by Addison-Wesley Publishing Company, Inc.