[Skip Navigation] [CSUSB] / [CNS] / [CSE] / [R J Botting] / [Samples] / ada
[Index] [Contents] [Source Text] [About] [Notation] [Copyright] [Comment/Contact] [Search ]
Thu Aug 25 21:03:11 PDT 2011


    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...

      To order the standard information got to [ lrm.htm ]

      Locally held Information

        (Ada95): [ ada95.html ]
        (Ada83 Glossary): [ ada.glossary.html ]
        (Ada83 Syntax): [ ada.syntax.html ]
        (Ada83 Examples): [ http://www.csci.csusb.edu/dick/cs320/ada/ ]
        (Ada83 Language Reference Manual LRM): [ http://www.csci.csusb.edu/dick/cs320/ada/lrm/ ]
        (Ada83 Documentation): [ Ada.AIX.txt ]
        (Ada83 BNF): [ Ada.bnf.txt ]
        (Ada83 FAQ): [ ada.FAQ.txt ] [ ada.pal.FAQ.txt ]

      . . . . . . . . . ( end of section Locally held Information) <<Contents | End>>

      Ada on the WWW

      The Home of the Brave Ada Programmer
      (HBAP): [ http://www.adahome.com/ ] (awarded a 4-star rating). This site has tutorials, reference manuals, news, FAQs, Resources, an more.
      (ACM SIGADA): ACM special interest group in Ada [ http://info.acm.org/sigada/ ]
      (AJPO): Ada at Falls Church, Virginia, USA [ http://sw-eng.falls-church.va.us/ ]
      (Ada95 LRM): The Ada 95 Language Reference Manual is at HBAP.
      (AdaBasis Ada library): Basic Data Types etc [ ada-software.html ]
      (FAQ): //rtfm.mit.edu/pub/usenet-by-group/news.answers/computer-lang/Ada

    . . . . . . . . . ( end of section The Ada Programming Language) <<Contents | End>>