There is an alphabetical index.

This page is part of the CS320: Programming Languages Course on the Computer Science Department's WWW Server at CalState, San Bernardino, California, USA. It was generated by Doc Dick Botting.


    The Ada Programming Language

    What is Ada

    Ada is a language originally designed to reduce the cost of writing embedded systems for USA Department of Defense projects. The 1983 version of the language (Ada83): incorporated much of the accepted wisdom on software engineering of the time:
    1. Data Structures - Pascal/C like but safer:
      1. Arrays have bounds before use and bounds are available and checked
      2. Pointers are under control
      3. Unions are tagged
      4. Type conversions are explicit
      5. Can be encapsulated by an abstract description

    2. Modularization
      1. Separate compilation
      2. Inter-module type checking
      3. Information hiding/encapsulation/abstraction

    3. Cooperative parallel processes(tasks),
    4. Exceptions,
    5. Generics/templates replacing Macros
    6. Least error prone syntax(based on experimental data)

    The name was protected so that a company could only call their product "Ada" if it passed a large set of tests. In this version there was hardly any support for inheritance, mathematical and scientific programming, commercial programming, System programming. However it did contain some unique features for real time work including: tasking, exceptions, delays,... It has been criticised for being
    1. Too Complex to be safe(Hoare)
    2. Too Verbose (Any C programmer)
    3. Not Object Oriented (Any C++/Smalltalk programmer)
    4. Mandated (Most conservatives and/or democrats)

    The new standard was released in Spring 1995 (Ada95): The designers claim that Ada95 does address the concerns of the object-oriented, commercial, scientific, and system programming experts. They also added a neat way to efficiently and safely share data between parallel tasks(inheritance). Time will tell...

    Glossary for Ada83


    Syntax for Ada83


    Information on Ada95


    Other Local documentation

    [Ada.AIX] , . . . [Ada.bnf] , . . . [ada.FAQ] , . . . [ada.pal.FAQ]

    Ada on the WWW

    The Lovelace [lovelace.html] Tutorial.

    The Cal Poly Pomona programming exercises: [Modules.html]

    Special Interst Group: SIGADA of ACM [ or]

    An internet browser of the Ada 95 Package Library: [Browser.html]

    Frequently Asked Questions

  1. FAQ::=Frequently Asked Questions.

    The Ada FAQ has a home on the Home of the Brave Ada Programmers (HBAP) WWW Server, in hypertext format, URL [comp-lang-ada.html]

    It is available --as posted in *.answers-- on, which archives all FAQ files posted to *.answers; see directory [Ada]

    The text-only version is also available in directory [FAQ]

    All FAQs can be found via FAQ[info4]

    Most memorable bug(s)?

    A doctoral student of Mike Feldman, Charles Kann (, author of much of the GW-Ada/Ed stuff, is investigating Ada debugging techniques as part of his dissertation project.

    As part of that effort, he and I would much appreciate your jotting down brief descriptions of your most memorable bugs in Ada. Chuck tried posting this to comp.lang.ada a while ago but got VERY few responses. We need more. Can you help?

    Please do your bit for science!:-)

    Reply by e-mail to:

    1. (Internet)
    2. Michael B. Feldman - chair, SIGAda Education Working Group
    3. Professor, Dept. of Electrical Engineering and Computer Science
    4. The George Washington University - Washington, DC 20052 USA
    5. 202-994-5919 (voice) - 202-994-0227 (fax)

Labels and Definitions in Alphabetical Order

This was the work of Dick Botting at ( also known as:

Disclaimer: CSUSB may or may not agree with this message.

Copyright(1996): Copy the document in which the link appeared and use as you wish as long as you include the following as source, disclaimer, and copyright.