AboutAda HomeQuick PageGuideWelcome TourWhat's New?Online RM95Ada FAQYour Feedback
Ada Home Floors: Resources -- Ammunition Dept. -- Discovery Tour -- Network

Discovery Tour

An Introduction to Ada

Ada FAQs
Ada 95 book reviews
Lovelace tutorial
Language Summary
Design Goals

"Free" compilers
Tutorials
Books
Code examples

History
Rogues gallery
Picture gallery

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:

Presentation text copied in 1994 with permission from an AdaIC file. HTML formatting created for the Ada Home.

HBAP 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