An Introduction to Ada
What is Ada?
Ada is an internationally standardized, general-purpose programming language
used in a wide variety of applications -- from missile control to payroll
processing to air traffic control.
Ada contains features commonly found in other programming languages and
provides additional support for modern programming practices, for controlling
special purpose hardware to meet real-time deadlines, and for the creation and
enhancement of large and complex programs by groups of programmers over long
periods of time.
Ada encourages good programming practices by incorporating software
engineering principles with strong typing, modularity, portability,
reusability and readability. These features reduce costs in software
development, verifying, debugging, and maintenance that typically puts strain
on an organization's resources over the life of the software.
- Portability
-
Ada developed for one system can easily be recompiled and ported to
other systems, since all Ada compilers are validated up-front and Ada
is an internationally standardized software language by MIL-STD-1815A,
ANSI, and ISO.
- Modularity
-
Ada organizes code into self-contained units that can be planned,
written, compiled, and tested separately; this feature allows programs
to be written in portions by teams working in parallel before being
integrated into the final product.
- Reusability
-
Ada's package concept allows users to develop software components that
may be retrieved, used, and/or changed without affecting the rest of
the program. Ada's Generic program units also allow programmers to
perform the same logical function on more than one type of data.
Packages and Generics also support data abstraction and object-oriented
design.
- Reliability
-
Ada strong typing detects errors more easily in both initial and
separate unit compilations. Ada's exception handling mechanism
supports fault-tolerant applications by providing a complete and
portable way of detecting and gracefully responding to error
conditions. Ada's tasking features support parallelism using
high-level constructs instead of ad-hoc, error-prone calls to operating
system primitives.
- Maintainability
-
Ada's program structuring based on modularity and high-level of
readability makes it easier for one programmer to modify or enhance
software written by another. Modularity also allows package
modification without affecting other program modules.
Ada Applications
Ada's globally documented successes include usage across a wide range of
applications. Today Ada drives:
- Payroll systems, commercial banking systems, stock quotation transaction
systems, language translation system and RDMSs.
- Geophysical exploration and data processing systems, and chemical analysis
systems.
- Commercial cellular phone switching and commercial telecommunications
applications like PABXs.
- FAA Ada in commercial jets, air traffic control systems, in-flight detection
and guidance systems, flight training simulators, and flight control/flight
display systems.
- NASAs Space Shuttle and Space Station Environments.
Automated manufacturing systems, automated materials handling systems,
robotics welding systems, and inventory management systems.
Real-time continuous medical monitoring systems and real-time embedded control
of copier and duplicator products.
- Strategic military embedded systems, the majority of which are used in
real-time applications, systems and mission trainers.
Presentation text copied in 1994 with permission from an AdaIC file.
HTML formatting created for the Ada Home.
Copyright © 1994-1996
by KSCE. All Rights Reserved.
Reproduction in whole or in part in any form or medium without
express written permission of KSCE is strictly prohibited.
Ada Home and Home of the Brave Ada Programmers are trademarks of KSCE.
For comments, additions, corrections, gripes, kudos, etc. please
send email
or use the Ada Home feedback page.
Page last modified: 1996-10-05