Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!newsfeed.internetmci.com!howland.reston.ans.net!math.ohio-state.edu!jussieu.fr!univ-lyon1.fr!in2p3.fr!swidir.switch.ch!epflnews!dinews.epfl.ch!Magnus.Kempe
From: [email protected] (Magnus Kempe)
Newsgroups: comp.lang.ada,comp.answers,news.answers
Subject: Ada FAQ: comp.lang.ada (part 1 of 3)
Followup-To: poster
Date: 24 May 1996 15:03:54 GMT
Organization: None
Lines: 769
Sender: [email protected] (Magnus Kempe)
Approved: [email protected]
Distribution: world
Message-ID: <[email protected]>
Reply-To: [email protected] (Magnus Kempe)
NNTP-Posting-Host: lglsun4.epfl.ch
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Summary: comp.lang.ada Frequently Asked Questions (and answers),
          part 1 of 3.
        Please read before posting.
        Does *not* get into Ada programming questions
          [for that see the companion Ada/programming FAQ].
Keywords: Ada, comp.lang.ada
Xref: senator-bedfellow.mit.edu comp.lang.ada:45500 comp.answers:18911 news.answers:72602

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

                                comp.lang.ada
                      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.


Introduction

  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
  http://lglwww.epfl.ch/Ada/FAQ/comp-lang-ada.html#title

Maintenance

  This FAQ is maintained on an individual volunteer basis, by Magnus
  Kempe ([email protected]). [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
                public?
         + 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
                FTP.
         + 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
                Compiler
              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
           code?
         + 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
           source?
         + 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
                components?
         + 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
      FAQ.
    * 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
      (3.13.2).
    * 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
  news.answers.

  This document has a home on the Home of the Brave Ada Programmers
  (HBAP) WWW Server, in hypertext format, URL
  http://lglwww.epfl.ch/Ada/FAQ/comp-lang-ada.html#title

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

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

  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 [email protected]
  Thanks.

  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
  http://lglwww.epfl.ch/Ada/, 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
  ftp://sw-eng.falls-church.va.us/public/AdaIC/pol-hist/history/9x-history
  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
  ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/95lrm_rat
  (v6.0).

  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
      up-to-date.
    * A. Burns and A. Wellings. Concurrency in Ada.
      Cambridge University Press. Price GBP 25 (about $45). ISBN
      0-521-41471-7.
    * 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
  FAQ.


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

  The text of the 1987 AJPO announcement is available on the AdaIC host,
  in
  ftp://sw-eng.falls-church.va.us/public/AdaIC/pol-hist/policy/trademrk.txt


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
  ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/95lrm_rat
      /v6.0
  and (compressed files)
  ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/95lrm_rat
      /v6.0.compressed

  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
  directory ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/83lrm


  Both Ada 83 and Ada 95 reference manuals also exist in hypertext
  format, accessible through the HBAP WWW Server (see the companion FAQ:
  Ada/ada-www-server).


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
      ftp://sw-eng.falls-church.va.us/public/AdaIC/usage/summary/cauwg.txt

    * 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
      ftp://sw-eng.falls-church.va.us/public/AdaIC/usage/summary/ada-use.txt
      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
  documentation.

  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
[choose_a_language],
or:
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
  8092":

    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:
      c.l.a,xyz").

    * 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 [email protected] .

  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:

To: [email protected]
Subject: ftpmail

help


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

  anonymous file transfer protocol (ftp)

ftp sw-eng.falls-church.va.us
login:      anonymous
password:


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

[email protected]

  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:

                OFFICE OF THE SECRETARY OF DEFENSE

                    Washington, DC  20301-1000

                          August 26, 1994


 MEMORANDUM FOR SECRETARIES OF THE MILITARY DEPARTMENTS
                CHAIRMAN OF THE JOINT CHIEFS OF STAFF
                UNDER SECRETARY OF DEFENSE (PERSONNEL AND
                READINESS)
                UNDER SECRETARY OF DEFENSE (POLICY)
                COMPTROLLER OF THE DEPARTMENT OF DEFENSE
                GENERAL COUNSEL OF THE DEPARTMENT OF DEFENSE
                INSPECTOR GENERAL OF THE DEPARTMENT OF DEFENSE
                DIRECTOR OF OPERATIONAL TEST AND EVALUATION
                DIRECTORS OF THE DEFENSE AGENCIES

 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
                                    Intelligence)

 cc:
 DDR&E