[Skip Navigation] [CSUSB] / [CNS] / [CSE] / [R J Botting] /[CS320 Course Materials] /ada.html [ada.txt(Text)] [Search ]
Thu Aug 25 20:58:25 PDT 2011
[Schedule] [Syllabi] [Text] [Labs] [Projects] [Resources] [Grading] [Contact]
Notes: [01] [02] [03] [04] [05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]

Contents


    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

        Information on Ada95

        [ ada95.html ]

        Ada83

        Glossary: [ ada.glossary.html ] , . . . Syntax: [ ada.syntax.html ] , . . . Examples: [ http://cse.csusb.edu/dick/cs320/ada/ ] , . . . Language Reference Manual (LRM): [ http://cse.csusb.edu/dick/cs320/ada/lrm/ ]

        Documentation:

        [ Ada.AIX.txt ] , . . . [ Ada.bnf.txt ] , . . . [ 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(Special Interest group in ada) [ http://info.acm.org/sigada/ ]

      Ada Public Library: [ PAL in se ]

      Ada at Falls Church, Virginia, USA [ http://sw-eng.falls-church.va.us ]

      WebAda: An Ada 95 compiler on the World Wide Web... for running tutorial examples and such. [ webada ]

      The free ez2load Ada for DOS by FTP from: //ftp.gwu.edu/pub/ada/ez2load George Washington University or //cs.nyu.edu/pub/gnat/dos New York University or //wuarchive.wustl.edu/languages/ada/compiler/ez2load

      PERSONAL: Ada, VRML, Rants, Raves, Music, EMS(4 Dec 1995 ) [ index.html ]

      The Lovelace [ lovelace.html ] Tutorial.

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

      The Ada 95 Language Reference Manual is at HBAP.

      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)

      It is available --as posted in *.answers-- on rtfm.mit.edu, which archives all FAQ files posted to *.answers; see directory //rtfm.mit.edu/pub/usenet-by-group/news.answers/computer-lang/Ada

      The text-only version is also available in directory //lglftp.epfl.ch/pub/Ada/FAQ

      All FAQs can be found via [ FAQ in info4 ]

      Most memorable bug(s)?

      A doctoral student of Mike Feldman, Charles Kann (ckann@seas.gwu.edu), 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. mfeldman@seas.gwu.edu (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)

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

End