home *** CD-ROM | disk | FTP | other *** search
- 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: Magnus.Kempe@di.epfl.ch (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: magnus@lglsun4.epfl.ch (Magnus Kempe)
- Approved: news-answers-request@MIT.EDU
- Distribution: world
- Message-ID: <4o4j4q$sd@disunms.epfl.ch>
- Reply-To: Magnus.Kempe@di.epfl.ch (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 (Magnus.Kempe@di.epfl.ch). [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 Magnus.Kempe@di.epfl.ch
- 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 ftpmail@decwrl.dec.com .
-
- 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: ftpmail@decwrl.dec.com
- 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:
-
- ftpmail@sw-eng.falls-church.va.us
-
- 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
-