Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z - Internet FAQ Archives

Ada FAQ: comp.lang.ada (part 1 of 3)

( Part1 - Part2 - Part3 )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Sex offenders ]
Archive-name: computer-lang/Ada/comp-lang-ada/part1
Comp-lang-ada-archive-name: comp-lang-ada/part1
Posting-Frequency: monthly
Last-modified: 24 May 1996
Last-posted: 22 April 1996

See reader questions & answers on this topic! - Help others by sharing your knowledge
                       Frequently Asked Questions (FAQ)

    Recent changes to this FAQ are listed in the first section after the table
    of contents. This document is under explicit copyright.

This is part 1 of a 3-part posting; part 1 contains the table of contents.
Part 2 begins with question 4.
Part 3 begins with question 7.
They should be the next postings in this thread.


   Ada is an advanced, modern programming language, designed and
   standardized to support and strongly encourage widely recognized
   software engineering principles: reliability, portability, modularity,
   reusability, programming as a human activity, efficiency,
   maintainability, information hiding, abstract data types, genericity,
   concurrent programming, object-oriented programming, etc.

   All validated Ada compilers (i.e. a huge majority of the commercial
   Ada compilers) have passed a controlled validation process using an
   extensive validation suite. Ada is not a superset or extension of any
   other language. Ada does not allow the dangerous practices or effects
   of old languages, although it does provide standardized mechanisms to
   interface with other languages such as Fortran, Cobol, and C.

   Ada is recognized as an excellent vehicle for education in programming
   and software engineering, including for a first programming course.

   Ada is defined by an international standard (the language reference
   manual, or LRM), which has been revised in 1995. Ada is taught and
   used all around the world (not just in the USA). Ada is used in a very
   wide range of applications: banking, medical devices,
   telecommunications, air traffic control, airplanes, railroad
   signalling, satellites, rockets, etc.

   The latest version of this FAQ is always accessible through WWW as


   This FAQ is maintained on an individual volunteer basis, by Magnus
   Kempe ( [Note: This is done as a hobby, not
   in my capacity as an employee at the Swiss Federal Institute of
   Technology. --MK]


   Report of a product, service, or event, etc., does not constitute an
   endorsement. Opinions (if any) expressed are those of the submitters
   and/or maintainer.

Table of Contents:

     * 1: Recent changes to this FAQ

     * 2: Information about this document

     * 3: Elementary questions
          + 3.1: What is Ada?
               o 3.1.1: What are the LRM, RM, and AARM?
               o 3.1.2: Where can I get other information on Ada?
          + 3.2: I have seen the language name capitalized as ADA, as
            well as Ada. Which is right?
          + 3.3: What is Ada 95 (aka Ada 9X)?
               o 3.3.1: Are there already Ada 95 books?
          + 3.4: Is Ada a registered trademark (TM) of the US government?
          + 3.5: Where can I find an electronic version of the Ada
            language reference manual (LRM)?
          + 3.6: Is Ada used in commercial applications?
          + 3.7: How do I do [choose_a_goal] in Ada?
          + 3.8: I think Ada could really benefit from having
            [choose_a_feature] from [choose_a_language] ...
          + 3.9: I just saw a very anti-Ada post that I think is
            definitely wrong. Why didn't anybody post a response to it?
            Should I?
               o 3.9.1: Person X is a heckler, should I answer him in
          + 3.10: I very strongly agree/disagree with the Ada mandate (or
            a post dealing with it). Why doesn't anyone praise/criticize
            it? Should I?
          + 3.11: Why shouldn't I cross-post my comp.lang.ada messages to
            other comp.lang.* newsgroups?
          + 3.12: I don't have FTP service on the host where I have an
            account. Is there any other way I can access FTP sites?
               o 3.12.1: The AdaIC host has a special e-mail service for
          + 3.13: Common Confusions
               o 3.13.1: Wasn't Ada designed by some committee? What kind
                 of a language could you possibly get from a committee?
               o 3.13.2: I've heard the DoD is dropping all Military
                 standards to reduce costs, doesn't that mean the
                 mandate to use Ada goes away too?

     * 4: Compilers
          + 4.1: Is there a list of validated Ada compilers?
          + 4.2: Is there a free Ada compiler (or interpreter)?
               o 4.2.1: GNAT, The GNU NYU Ada Translator -- An Ada 95
               o 4.2.2: Ada/Ed -- An Interpreter for Ada 83 
               o 4.2.3: GW-Ada/Ed -- a souped-up version of Ada/Ed for
                 386/486 DOS and Macintosh machines
          + 4.3: What cheap (<500$) Ada compilers are available?
          + 4.4: Is there an Ada compiler for common machine X/common
            operating system Y?
               o 4.4.1: on the Macintosh?
               o 4.4.2: native for OS/2?
          + 4.5: How can I contact Ada compiler vendor?
          + 4.6: Are Ada 95 compilers compatible with Ada 83?

     * 5: Organizations that deal with Ada and Ada issues
          + 5.1: Ada Joint Program Office (AJPO)
          + 5.2: Ada Information Clearinghouse (AdaIC)
          + 5.3: ACM/SIGAda
          + 5.4: ISO WG 9

     * 6: Tools
          + 6.1: Is there an Ada-mode for Emacs?
          + 6.2: Are there versions of lex and yacc that generate Ada
          + 6.3: Where can I get a yacc/ayacc grammar to read Ada code?
          + 6.4: What is Anna, and where can I get it?
          + 6.5: What is DRAGOON, and where can I get it?
          + 6.6: Where can I get language translators? And should I?
          + 6.7: What is ASIS?

     * 7: Bindings
          + 7.1: General
          + 7.2: POSIX
               o 7.2.1: What is the status of the POSIX/Ada work?
               o 7.2.2: How can I get a copy of POSIX/Ada?
               o 7.2.3: Is POSIX/Ada available via FTP?
          + 7.3: X Window System

     * 8: Is there a list of good Ada books?

     * 9: Resources
          + 9.1: What FTP sites contain information about Ada or Ada
          + 9.2: Reuse
               o 9.2.1: Are there any free, public-domain, or other
                 general-access software repositories that contain Ada
                 source code and information on reuse?
               o 9.2.2: Is there a database of reusable Ada software
          + 9.3: Where can I get Ada benchmark programs?
          + 9.4: Are there any dial-up BBS systems that deal with Ada?

     * 10: Credits

     * 11: Copying this FAQ


1: Recent changes to this FAQ

     * 960524: the AJPO (5.1) is going away in 1997.
     * 960415: update on GNAT (4.2.1).
     * 960322: updated list of Ada 95 books (3.3.1).
     * 960309: moved annotated list of books (8) to the new Learning Ada
     * 960228: updated AJPO (5.1) and AdaIC (5.2) information.
     * 960228: updated AdaIC e-mail service for FTP (3.12.1).
     * 960228: ASIS info (6.7) updated.
     * 960228: revised BBS section (9.4).
     * 960130: update and reorg of free Ada compilers (4.2).
     * 960130: updated AJPO information (5.1).
     * 960111: list of vendors (4.5) updated.
     * 960111: validated Ada 95 compilers (4.1).
     * 960111: updated list of Ada 95 books (3.3.1).
     * 960105: please ignore hecklers (3.9.1).
     * 950925: clearing some common confusions: Ada was NOT desiged by
       committee (3.13.1) and the DoD has NOT dropped the mandate
     * 950913: update on Mac compilers (4.4.1)
     * 950828: the change logs now indicate the section/question number.
     * 950819: POSIX bindings status update (7.2.1).
     * 950819: a lot of URL updates: AdaIC files keep moving around.
     * 950725: GW-Ada for Mac info updated (4.2.3).
     * 950630: list of vendors updated (4.5) (email, phone, WWW).
     * 950623: ASIS info updated (6.7).
     * 950613: ACES info updated (9.3).
     * 950406: what are the LRM, RM, and AARM (3.1.1).
     * 950321: upward compatibility between Ada 83 and Ada 95 (4.6).
     * 950228: general URL updates: AdaIC host changed (no longer AJPO).
     * 950221: Ada 9X is officially Ada 95 since February 15, 1995.
     * 950221: added AdaBasis repository (9.2.1).
     * 950207: revised introduction.
     * 950126: revised BBS section (9.4).
     * 950124: approved for posting in *.answers.

   What's important and missing:
     * description of the ACVC
     * CD-ROMs
     * list of regular Ada-related events


2: Information about this document

   This file is posted monthly to comp.lang.ada, comp.answers, and

   This document has a home on the Home of the Brave Ada Programmers
   (HBAP) WWW Server, in hypertext format, URL

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

   The text-only version is also available in directory

   Magnus Kempe maintains this document; it's a hobby, not a job.
   Feedback (corrections, suggestions, ideas) about it is to be sent via
   e-mail to

   In all cases, the most up-to-date version of the FAQ is the version
   maintained on the HBAP WWW Server. Please excuse any formatting
   inconsistencies in the posted, text-only version of this document, as
   it is automatically generated from the on-line, hypertext version.


3: Elementary questions

3.1: What is Ada?

   Ada is an advanced, modern programming language, designed and
   standardized to support widely recognized software engineering
   principles: reliability, portability, modularity, reusability,
   programming as a human activity, efficiency, maintainability,
   information hiding, abstract data types, concurrent programming,
   object-oriented programming, et caetera. All Ada compilers must pass a
   validation test.

    3.1.1: What are the LRM, RM, and AARM? 

   LRM is the abbreviated name of the Language Reference Manual,
   sometimes called Ada Reference Manual. "LRM" was often used in the
   days of Ada 83; "RM" or "rm95" is frequently used since the 1995
   revision of the language. Ada 95 is for the most part an extension of
   Ada 83.

   What is the AARM for Ada 83?
          Compiled by K. Nyberg, it contains the full text of
          ANSI/MIL-STD-1815A with inline annotations derived from the Ada
          Rapporteur Group of the International Organization for
          Standards responsible for maintaining the Ada language.

          Distribution has been transferred by Grebyn Corporation to the
          Ada Resource Association, (614) 538-9232. The organization is
          going to be offering it as a "member benefit", or something
          like that for individual members, and will probably sell
          additional copies.

   What is the AARM for Ada 95?
          Contains the entire text of the Ada 95 standard (ISO/IEC
          8652:1995(E)), plus various annotations. It is intended
          primarily for compiler writers, validation test writers, and
          other language lawyers. The annotations include detailed
          rationale for individual rules and explanations of some of the
          more arcane interactions among the rules.

    3.1.2: Where can I get other information on Ada?

   If you have questions which this FAQ does not answer, you may contact
   the Ada Information Clearinghouse (see below, question 5.2), use the
   Usenet newsgroup comp.lang.ada, read the Ada Yearbook published by Ada
   UK, or the Ada Resources published by the ACM.

   To find out more, you may also use the HBAP WWW Server, URL, which hosts three companion FAQs:
   Ada/programming, Ada/learning, and Ada/ada-www-server (also
   regularly posted to comp.lang.ada).

   I encourage you to check out the changes listed early in the document
   each time this FAQ is posted.

3.2: I have seen the language name capitalized as ADA, as well as Ada. Which
is right?

   The correct capitalization is Ada. It's a proper name, for Ada
   Lovelace (1815-1852), who is regarded to be the world's first
   programmer. Using all-caps usually implies an acronym, and this forum
   is not devoted to the American Dental Association :-).

   In addition, the ISO and IEEE recommend as a general guideline that
   one spell like proper names the language names that are pronounced as
   they are spelled (e.g. Ada, Pascal, Cobol, Basic, Fortran). Note: that
   a name originally resulted from abbreviation is considered irrelevant.
   For language names that are phonetically spelled (e.g. C, C++, APL,
   PL/1), they should be spelled in all uppercase.

3.3: What is Ada 95 (aka Ada 9X)?

   Ada 95 refers to the current, revised version of the Ada standard.
   (Ada 83 was the original ANSI/ISO standard.) The Ada 9X Project Office
   was responsible for the revision, and worked closely with the
   international community to ensure Ada retains its ISO status. The Ada
   9X process was very open. Many documents are still available for
   downloading from
   on the AdaIC host. The Ada 9X Project Office has been closed.

   Ada 95 includes four major areas of enhancement: support for
   object-oriented programming, data-oriented synchronization,
   programming-in-the-large, and realtime systems.

   A great deal of attention was focused on transitioning to Ada 95. The
   validation test suite was available early (in draft form prior to
   ANSI/ISO approval with official release 3 months after ANSI/ISO
   approval). However, for a two-year period after the official revision
   of the standard (15 February 1995), vendors will be able to focus on
   enhanced areas of the language that their customer base wants first;
   i.e., the first validation test suite will be modularly constructed.
   Vendors were also encouraged to release beta-versions of their Ada 95
   implementations prior to validation.

   There is also a complete GNU Ada 95 compilation system (GNAT)
   available since late 1993. (See question 4.2.1.)

    3.3.1: Are there already Ada 95 books?

   The Ada 95 Rationale explains how to use the new mechanisms of the
   language; it is quite readable. The new Reference Manual is THE
   reference, of course. The Annotated Reference Manual provides detailed
   explanations of the rules of the language (good for implementors and
   language lawyers). All three are available in their final versions by
   FTP from the AdaIC host, in directory

   There are already a number of books which have sections on Ada 95 or
   have completely integrated the revised definition of the language into
   their presentation:
     * J. Barnes. Programming in Ada 95
       Addison-Wesley. Price $43.25. ISBN 0-201-87700-7.
     * J. Barnes. Programming in Ada: Plus an Overview of Ada 9X.
       Addison Wesley. Price $43.25. ISBN 0-201-62407-9.
       An Ada 83 book with indications of what Ada 95 adds.
     * G. Booch and D. Bryan. Software Engineering with Ada.
       3rd ed., Benjamin/Cummings, 1994. (price?) ISBN 0-8053-0608-0.
       Published before finalization of Ada 9X, thus not completely
     * A. Burns and A. Wellings. Concurrency in Ada.
       Cambridge University Press. Price GBP 25 (about $45). ISBN
     * N. Cohen. Ada as a Second Language.
       2nd ed., McGraw-Hill. Price about $60. ISBN 0-07-011607-5.
     * Naiditch. Rendezvous with Ada 9X.
       2nd ed., John Wiley & Sons, Inc. Price $44.95. ISBN 0-471-01276-9.
     * J. Skansholm. Ada From the Beginning.
       2nd ed., Addison-Wesley. Price GBP 21.95. ISBN 0-201-62448-6.
     * M. Smith. Object Oriented Software with Ada 95. International
       Thomson Computer Press. Price GBP 21.95. ISBN 1-85032-185-X.

   For an annotated list of Ada 95 books, see the companion Learning Ada

3.4: Is Ada a registered trademark (TM) of the US government?

   No, but it used to be; there is now a "certification mark", which can
   be used only for validated compilers.

   Prior to November 30, 1987, the name "Ada" was a registered trademark.
   In the December 1987 issue of the Ada Information Clearinghouse
   Newsletter, Ms. Virginia Castor, then Director of the Ada Joint
   Program Office (AJPO), announced that the Department of Defense would
   thereafter rely on a certification mark instead of a trademark.

   (The certification mark is a Pentagon-shaped symbol with a "Validated
   Ada" message, and can be seen on the documentation of validated Ada

   The text of the 1987 AJPO announcement is available on the AdaIC host,

3.5: Where can I find an electronic version of the Ada reference manual (LRM)?

   The revised Reference Manual (RM for Ada 95--v6.0 final version) is
   available, in plain ASCII and Postscript files, in directories
   and (compressed files)

   This version was released in December 1994 and is freely
   distributable. For language lawyers and implementors, the Annotated
   Ada Reference Manual (AARM) is also available there.

   The old, Ada 83 LRM is available in a compressed set of ASCII files in

   Both Ada 83 and Ada 95 reference manuals also exist in hypertext
   format, accessible through the HBAP WWW Server (see the companion FAQ:

3.6: Is Ada used in commercial applications?

   You bet. Ada is used in e.g. airplanes, air traffic control systems,
   financial systems, telecommunications systems, medical devices.
     * The AdaIC host on the Internet contains a report of Commercial Ada
       Users Working Group (CAUWG) of the Association for Computing
       Machinery's Special Interest Group on Ada (ACM SIGAda). Dated June
       1993, the report is a survey of applications from around the world
       that are written in Ada. It is in

     * The Ada Information Clearinghouse maintains a list of Ada projects
       that have submitted information for the AdaIC's Ada Usage
       Database. It is only a sample of Ada projects, but it includes
       both commercial and government-related projects. For details on
       contacting the AdaIC, see question 5.2.

     * On the AdaIC host, file
       contains a summary of the Ada Usage Database and a number
       of individual project descriptions that may be of interest (the
       commercial projects are listed after the US DoD projects).

3.7: How do I do [choose_a_goal] in Ada?

   This kind of question often revolves around an issue which is
   dependent on a specific implementation or operating system. Thus, in
   order to improve the odds of getting a useful answer, one should
   indicate what the host and target environments are (Ada vendor,
   compiler version, OS version, machine). Ada implementations normally
   come with a vendor-supplied library which provides hooks to the
   environment (operating system, graphics, etc.); check the

   Even in the case of things that are in the language, there are
   implementation dependencies that make it helpful to always have this
   information at hand if people want the most effective help. Note that
   annex F requires "the reference manual of each Ada implementation" to
   "include an appendix (called Appendix F) that describes all
   implementation-dependent characteristics."

3.8: I think Ada could really benefit from having [choose_a_feature] from
I think Ada is clearly [inferior_or_superior] to [choose_a_language] because
it has [choose_a_feature].

   Such posts almost always result in religious language wars and only
   waste bandwidth. PLEASE refrain from such posts unless you have a
   specific question about Ada. For example, the following kind of
   question *is* appropriate: "In [choose_a_language] I can do
   [choose_a_feature]. How would I go about doing this in Ada?"

   Further, if you are going to compare programming languages, please
   note "Nebbe's rule":

     If you can't think of a least one area where a language is better
     than your preferred language then you probably aren't competent to
     comment on it.

3.9: I just saw a very anti-Ada post that I think is definitely wrong. Why
didn't anybody post a response to it? Should I?

   Ada apparently gets more than its share of attacks, probably due to
   its unique origins, and the fact that it is a requirement for some
   government software. For the same reasons as in the preceding
   question, PLEASE refrain from posting a response to these, unless you
   feel there is something of *significant* importance that you can
   contribute. Posts containing factual corrections are OK, but posts
   like "Well, I've used Ada on many projects, and all have been very
   successful" accomplish nothing. If you are really dead-set on driving
   your point home to the poster, you can do it via e-mail.

3.9.1: Person X is a heckler, should I answer him in public?

   Some people seem to devote much of their energy to "flaming" other
   people in various newsgroups. The best advice is to ignore such
   hecklers; in particular, don't follow up to their postings. Even if
   ignoring them often doesn't seem to make them go away, it will at
   least abate the flames.

   And if [like me, MK] you can't stand seeing the messages coming from
   known hecklers, your best option is to add an entry in a "killfile" of
   your newsreader to automatically discard their messages.

   Normally, it should not be necessary to mention any particular name
   here, but since the worst heckler in comp.lang.ada regularly resorts
   to harassment and personal abuse, it seems both necessary and useful
   to point him out to the readers of comp.lang.ada (and especially for
   the sake of newcomers).

   PLEASE DO NOT ANSWER to messages coming from "Colin James III" (use
   e.g. the entry "/Colin James/:j" in your "killfile").

3.10: I very strongly agree/disagree with the Ada mandate. Should I
praise/criticize it?

   First, it is a fact that there is an Ada standard, on which the US
   DoD is aligned (the so-called "mandate"). No shouting match will
   change that. Second, don't believe rumors (about the mandate, its
   withdrawal, its being ignored, etc.) you read in comp.lang.ada, unless
   you have reasons to (i.e. you know the author is trustworthy, or the
   author provides references which you can check, and which you have
   checked yourself at least a couple of times.)

   For your information, here is the text of "Public Law 101-511 Sec

     Notwithstanding any other provisions of law, after June 1, 1991,
     where cost effective, all Department of Defense software shall be
     written in the programming language Ada, in the absence of special
     exemption by an official designated by the Secretary of Defense.

    What about discussing the US Ada mandate?

   If you want to argue either for or against US Government Ada policies
   please restrict your postings to "usa" (field "Distribution:").
   Remember that Ada is an international standard, but the US mandate is
   not an international issue.

   Praise of the mandate is usually based on the ideas that a) it is
   better to have one language than 1500 obscure, proprietary languages
   for all DoD-owned non-COTS systems, and b) Ada is a good software
   engineering language, especially when it comes to maintenance.

   Criticism of the mandate is usually based on the ideas that a) a good
   language should not need a mandate (which ignores the fact that before
   standardizing on Ada the DoD had to maintain for 20+ years software
   written in 1500 obscure, proprietary programming languages--which is
   hard and costly), b) the mandate is mostly ineffective, since either
   it is ignored, or too many waivers are granted, or none is necessary
   (a policy issue which will in all likelihood NOT be resolved by
   discussions on comp.lang.ada), and c) no programming language is the
   most appropriate for every problem (true, but
   irrelevant--standardizing on a single good language for all DoD
   development and maintenance is practical, economical, and much better
   than not standardizing at all).

   Finally, whenever you see a message criticizing the Ada language (or
   Ada companies) for losing completely both in the market and under the
   mandate, check the facts for yourself. For the most part, the Ada
   mandate is enforced; in many critical, commercial systems, Ada is the
   language of choice and its adoption a success; in the slowly-changing
   competition of programming languages, FORTRAN and COBOL dominate, and
   Smalltalk, C++, Eiffel, and Ada are all slowly growing. Ada is
   (finally, and we hope seriously) penetrating academia. There is a GNU
   Ada 95 compiler available. And remember that Ada 95 is the first
   internationally standardized object-oriented programming language.

   If you have some new, additional facts, with approriate references so
   that everyone can check for himself, then posting on a mandate-related
   issue is OK. If NOT, then refrain from posting. PLEASE, if someone
   starts a non-factual discussion, the best policy is simply to ignore
   it or, if you have to, you may reply by private e-mail. Try to hold
   the same standards as you would in discussing problem-solving with the
   programming language itself, and put your information in a way which
   encourages positive action; criticism of inefficiency and/or
   ineptitude is fine, as long as it is honest, documented, and polite.

3.11: Why shouldn't I cross-post my comp.lang.ada messages to other
comp.lang.* newsgroups?

   The huge majority of the comp.lang.ada messages are Ada specific, and
   many are from people supporting Ada, so that all threads developing on
   c.l.a end up dealing with Ada.

   Cross-posting should be used with caution and careful thought, for
   various reasons:
     * First, avoid annoying readers of other newsgroup with irrelevant
       Ada messages. If you expect to successfully proselytize by
       cross-posting into newsgroups dedicated to other programming
       languages, think twice! Note that if you are replying to a
       cross-posted article, it is your responsibility to pare down the
       newsgroup lists ("Newsgroups: c.l.a,abc,xyz" and "Followup-to:

     * Second, the subject line ("Subject: xyz") should be relevant to
       all cross-posted groups (e.g. if the thread originated in c.l.a
       and then is cross-posted, think about the message--if there is
       any--explicitly carried over by the subject; some people read the
       subject line only).

     * Finally, it is good and polite practice to mention explicitly in
       the text of a cross-posted article that it is cross-posted and
       where you would like followup articles to go. You should of course
       change the "Followup-to:" header yourself to redirect a thread to
       appropriate newsgroups, in addition to explicitly stating that you
       are doing so. For instance, if you cross-post an original article
       it is a good, polite, and effective idea to redirect followups.

   Exaggerated cross-posting is in the same category as junk mail:
   negative publicity.

3.12: I don't have FTP service on the host where I have an account. Is there
any other way I can access FTP sites?

   If you are not connected to the Internet but do send and receive
   email from the net, you can use an "ftp by mail" agent, such as
   ftpmail, which is provided by DEC's Western Research Labs (DECWRL).
   The mail server may be reached by sending a mail message to
   uucp!decwrl!ftpmail or .

   Complete instructions for using ftpmail may be retrieved with a
   message to the above address with subject "ftpmail" and the single
   word "help" as the text of your message. Example query:

Subject: ftpmail


3.12.1: The AdaIC host has a special e-mail service for FTP.

   anonymous file transfer protocol (ftp)

login:      anonymous

   ftpmail: To obtain complete instructions, send e-mail to:

   with the word "help" in the subject line.

3.13: Common Confusions

3.13.1: Wasn't Ada designed by some committee? What kind of a language could
you possibly get from that kind of approach?

   (Tucker Taft, the principal designer of Ada 95, responds)

   I believe most reviewers of Ada 9X (and Ada 83 for that matter) will
   assure you that it was most certainly not designed by committee ;-).

   In fact, with respect to MI, the situation was just the opposite.
   There were several reviewers who pushed hard for building in a
   particular approach to MI. The principle designer (;-) was unconvinced
   that the benefits of building in a particular MI approach outweighed
   the costs as far as complexity. There was no clear winner to use as a
   model in the outside world; even Sather and Eiffel couldn't agree
   exactly on how to resolve the intricacies of MI, despite their strong
   similarities in other areas.

3.13.2: I've heard the DoD is dropping all Military standards to reduce costs,
doesn't that mean the mandate to use Ada goes away too?

   The following memo explains how that decision affects the Ada mandate:


                     Washington, DC  20301-1000

                           August 26, 1994


  SUBJECT:  Use of Ada

       The purpose of this memorandum is to reiterate the Department
  of Defense (DoD) commitment to the use of Ada.

       It is DoD policy to use commercial off-the-shelf (COTS)
  software whenever it meets our requirements.  However, when COTS
  software is not available to satisfy requirements and the DoD must
  develop unique software to meet its needs, that software must be
  written in the Ada programming language in accordance with DoD
  Directive 3405.1 and DoD Instruction 5000.2.

       Secretary Perry's June 29, 1994 memorandum, "Specification &
  Standards -- A New Way of Doing Business," states that military
  standards will only be used "as a last resort, with an appropriate
  waiver."  This direction has caused some confusion regarding the
  Ada requirement since most references to Ada cite its MIL-STD
  nomenclature, MIL-STD-1815A.  Ada is also a Federal Information
  Processing Standard (FIPS 119), an American National Standards
  Institute (ANSI) standard (ANSI-1815A-1983), and an International
  Standards Organization (ISO) standard (ISO 8652-1987).  Any of
  these alternative references may be utilized in place of the MIL-
  STD reference in request for proposals, contracts, and other
  similar documents.  Thus, the Ada requirement does not conflict
  with the Secretary's direction, and compliance with both policies
  can be achieved simultaneously.

       Use of other programming languages can be considered if
  proposed by a contractor as part of his best practices since
  waivers to the use of Ada can be granted, where cost-effective, in
  accordance with procedures established in the policy referenced
  above.  However, such proposals require strong justification to
  prove that the overall life-cycle cost will be less than the use of
  Ada will provide.

       Secretary Perry's memorandum encourages practices that satisfy
  the Department's need to build high quality systems that meet
  requirements at affordable costs an in a timely manner.  This
  includes practices which support the development of Defense
  Software.  Ada is not only a facilitator of software engineering
  best practice, but also has inherent features which uniquely
  support both real-time systems and safety-critical systems.  Use of
  Ada also facilitates software reuse and has demonstrated reduced
  support costs.  Accordingly, Ada is a foundation for sound software
  engineering practice.

  /signed/                           /signed/

  Noel Longuemare                    Emmett Paige, Jr.
  Under Secretary of Defense         Assistant Secretary of Defense
  (Acquisition and Technology)       (Command, Control,
  (Acting)                           Communications, and


User Contributions:

Comment about this article, ask questions, or add new information about this topic:

Part1 - Part2 - Part3

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer: (Magnus Kempe)

Last Update March 27 2014 @ 02:11 PM