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