home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / lang / ada / 3193 < prev    next >
Encoding:
Text File  |  1992-11-05  |  28.2 KB  |  621 lines

  1. Newsgroups: comp.lang.ada
  2. Path: sparky!uunet!charon.amdahl.com!pacbell.com!decwrl!elroy.jpl.nasa.gov!swrinde!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!news.sei.cmu.edu!ajpo.sei.cmu.edu!cla-faq
  3. From: cla-faq@ajpo.sei.cmu.edu (Ada Info. Clearinghouse)
  4. Subject: comp.lang.ada FAQ 2/2
  5. Message-ID: <1992Nov5.163054.11638@sei.cmu.edu>
  6. Followup-To: Poster
  7. Summary: comp.lang.ada Frequently Asked Questions. (Does *not* 
  8.          get into programming questions.)
  9. Sender: netnews@sei.cmu.edu (Netnews)
  10. Reply-To: cla-faq@ajpo.sei.cmu.edu
  11. Organization: Ada Information Clearinghouse
  12. Date: Thu, 5 Nov 1992 16:30:54 GMT
  13. Lines: 606
  14.  
  15. comp.lang.ada Frequently Asked Questions part 2 of 2
  16.  
  17. 16) What cheap (<500$) Ada compilers are available?
  18.  
  19.       What follows is absolutely *not* exhaustive, but inexpensive
  20.       compilers are available, and some vendors offer educational
  21.       discounts.  Among those offering educational discounts are
  22.       Alsys, DDC-I, Encore, Harris, IBM, Irvine Compiler, Meridian,
  23.       PSS, Tartan, and TeleSoft.
  24.  
  25.       Meridian
  26.       Among choices for inexpensive compilers, Meridian offers one for
  27.       $99.  (Meridian Software Systems, 10 Pasteur Street, Irvine, CA
  28.       92718; contact: Jim Smith 800/221-2522, 714/727-0700)
  29.  
  30.       Alsys (US pricing only):
  31.       FirstAda for 286 DOS is $595.  It'll run on 286 and higher, and
  32.       will generate applications for any x86 PC.  Comes with a full
  33.       toolset.  Alsys does run specials on it periodically.  Call
  34.       Scott Dorman at 617/270-0030 for more info.
  35.  
  36.       Alsys offers the same compilation system for $144 to qualified
  37.       educational institutions under its LEAP program.  The program
  38.       also offers substantial educational discounts on other Alsys
  39.       products, as well as site license arrangements.  Contact Kathy
  40.       Ruggiero at 617/270-0030 for more info.
  41.  
  42. 17) Are there any dialup BBS systems that deal with Ada?
  43.  
  44.       AdaIC BBS: (US) 703/614-0215 AUTOVON: 224-0215
  45.  
  46.       Ada 9X: (US) 800-Ada9X25 301/459-8939
  47.  
  48.       (from olender@CS.ColoState.EDU (Kurt Olender))
  49.  
  50.       AdaNet BBS: This is a free service that maintains e-mail
  51.       connections for people not on the internet, an Ada source code
  52.       repository, and a selection of other on-line Ada-related
  53.       documents.  It is sponsored by NASA.  Call 800/444-1458 to
  54.       register for access.
  55.  
  56.       (from carlsons@ajpo.sei.cmu.edu (Susan Carlson))
  57.       (Caveat: Telephone numbers can change without notice.  If we
  58.       find out a number doesn't work, we'll note that, but leave the
  59.       entry in until we're sure the service has actually been
  60.       discontinued.  If you are aware of a better number, please let
  61.       us know.)
  62.  
  63.       Naval Computer Telecommunications Command
  64.       Tel: 804/444-7841
  65.  
  66.       Air Force Software Technology Support Center (STSC) BBS
  67.       Tel: 801/777-7553 or DSN 458-7553
  68.       Baud: 2400, 1200, 300
  69.       Bits: 8
  70.       Parity: None
  71.       Stop Bits: 1
  72.  
  73.       ACM SIGAda Performance Issues Working Group
  74.       PIWG Ada Benchmarks BBS
  75.       Tel: 412/268-7020
  76.  
  77.       AFSC MCCR Ada -- Air Force Policy
  78.       Tel: 301/735-8124 (?? wasn't working on 2 Nov 92)
  79.  
  80.       Embedded Systems Programming Magazine BBS
  81.       Tel: 415/905-2689
  82.  
  83.       Ada Language System/Navy
  84.       Tel: 202/342-4568
  85.       Baud: 2400/1200/300
  86.       Bits: 8
  87.       Parity: None
  88.       Stop Bits: 1
  89.  
  90. 18) Does anyone know where I can get bindings for Ada?  X-Windows?
  91.       Others?
  92.  
  93.       General
  94.       The AdaIC (question 15, above) has a report on "Available Ada
  95.       Bindings".  It can be ordered in hardcopy as flyer S82, and it
  96.       can be downloaded from the AdaIC Bulletin Board (703/614-0215)
  97.       as BINDINGS.HLP.  It's also available by anonyomous ftp on the
  98.       AJPO host (ajpo.sei.cmu.edu).
  99.  
  100.       X-Windows
  101.       (from drew@verdix.com (Drew Johnson))
  102.  
  103.       This question turns out to be pretty darn hard to answer easily.
  104.       There are at least three variables that need to be filled:
  105.  
  106.       1) platform where you are going to be running.
  107.       2) compiler you would like to use.
  108.       3) Level/flavor of X you would like to run (e.g., just need
  109.       bindings to Xlib, want Openlook as opposed to Motif, etc).
  110.  
  111.       Once you fill all three of the above, then you can start to get
  112.       answers.  In order to keep the answer brief, I am simply going
  113.       to list companies that offer such products, and locations where
  114.       free versions are available.
  115.  
  116.       Before I give the list, I think a little history is in order.
  117.       The first Xlib bindings that were publically available were done
  118.       by SAIC for STARS.  This implementation had many bugs, but it
  119.       was there, and it was free.  I believe that this version was
  120.       eventually withdrawn from the STARS repository, and has now been
  121.       replaced with a better one.  In addition, SAIC has done an Xt
  122.       implementation based on these Xlib bindings (also for STARS).
  123.       NOTE: the above description may well be inaccurate, and I
  124.       welcome corrections.
  125.  
  126.       Now, for the list.
  127.       NOTE: this list is currently "off the top of my head", and I
  128.       welcome the addition of details and/or corrections.  I currently
  129.       don't have time to go back through the comp.lang.ada archives to
  130.       get full contact info on the companies I am listing below.  I am
  131.       counting on their vigilance to see the FAQ and send me info.
  132.  
  133.       First off, there is a pretty complete list of available bindings
  134.       for X as well as other stuff at the Ada IC.
  135.       site: ajpo.sei.cmu.edu
  136.       location: /public/ada-info/bindings.hlp.06Oct92
  137.       access: anonymous FTP
  138.  
  139.       Free versions:
  140.       STARS: bindings to Xlib and Xt.  freely available via ftp on
  141.       source.asset.com
  142.  
  143.       Non-free versions:
  144.       SERC: bindings to Xlib/Xt/Motif
  145.       contact: well!sercmail@apple.com (Scott Cleveland)
  146.  
  147.       Verdix: bindings to Xlib/Xt/Motif
  148.       (Note that bindings to Xview are included with the SunAda Sun4
  149.       compiler)
  150.       contact: moskow@verdix.com (Paul Moskowitz)
  151.  
  152.       ATC: bindings to Xlib/Xt/Motif
  153.       contact: ???
  154.  
  155.       Telesoft: bindings to Xlib/Xt/Motif (TeleWindows)
  156.       (Note that bindings to Xview are included with the TeleSoft Sun4
  157.       compiler)
  158.       contact: philippe@telesoft.com
  159.  
  160.       X-based GUI (Graphical User Interface) Builders:
  161.       Objective (OIS): Screen Machine
  162.       contact: Phil Carrasco (703/264-1900)
  163.  
  164.       TeleSoft: TeleUSE
  165.       contact: philippe@telesoft.com
  166.  
  167.       EVB software: GRAMMI
  168.       contact: grammi-info@evb.com
  169.  
  170.       Sun Microsystems: DevGuide
  171.       contact: ???
  172.  
  173.       SERC: UIL-to-Ada code generator
  174.       (not really a GUI-builder, but works with several builders to
  175.       generate Ada instead of other languages).
  176.       contact: well!sercmail@apple.com (Scott Cleveland)
  177.  
  178. 19) Is there a list of Ada compiler vendor e-mail contacts?
  179.  
  180.       (from drew@verdix.com (Drew Johnson))
  181.  
  182.       Alsys sales (e-mail contact only): tne@world.std.com (Tom Erickson)
  183.       Alsys sales (voice) Scott Dorman
  184.       Tel: 617/270-0030
  185.  
  186.       Convex questions: allison@convex.com (Brian Allison)
  187.       Tel: 214/497-4346
  188.  
  189.       Cray questions: det@cray.com (Dave Thersleff)
  190.       Tel: 612/683-5701
  191.       Cray sales: svc@cray.com (Sylvia Crain)
  192.       Tel: 505/988-2468
  193.  
  194.       Harris questions: jeffh@ssd.csd.harris.com (Jeff Hollensen)
  195.  
  196.       IBM/Ada questions: malcho@torolab6.vnet.ibm.com (Don Malcho)
  197.       Tel: 416/448-3727
  198.  
  199.       Intermetrics questions: ryer@inmet.inmet.com (Mike Ryer)
  200.  
  201.       Irvine Compiler Corp (ICC) questions: info@irvine.com
  202.  
  203.       Tartan questions: englert@tartan.com (Susan Englert)
  204.       Tel: 412/856 3600
  205.  
  206.       Telesoft questions: adasupport@telesoft.com
  207.       Tel: 619/457-2700
  208.       TeleSoft Sales: marketng@telesoft.com (Philippe Collard)
  209.       Tel: 619/457-2700
  210.  
  211.       Verdix questions: drew@verdix.com (Drew Johnson)
  212.       Verdix sales information: moskow@verdix.com (Paul Moskowitz)
  213.       Tel: 800-BUY-VADS
  214.  
  215. 20) Is there a list of good Ada books?
  216.  
  217.       Just for a list of texts, etc. (no evaluations or
  218.       recommendations), you might take a look at the ADABOOKS.HLP file
  219.       on the AdaIC Bulletin Board and in the public/ada-info directory
  220.       on the AJPO host (ajpo.sei.cmu.edu).
  221.  
  222.       Books for use in class (and others):
  223.       (from mfeldman@seas.gwu.edu (Michael B. Feldman))
  224.  
  225.       As co-chair of the SIGAda Education Committee, and a denizen of
  226.       the Internet newsgroups, I am often asked to give references for
  227.       "Ada textbooks."  This list responds to these many queries.  It
  228.       is far from exhaustive, merely a selected list of 26 books being
  229.       used successfully in undergraduate computer science courses.
  230.  
  231.       The six books in the Group 1 are written especially for students
  232.       without programming experience, who are learning Ada as their
  233.       first language.  Most of these can also cover at least part of a
  234.       typical CS2-level course.  The seven books in Group 2 use Ada as
  235.       their language of discourse but are "subject-oriented:" data
  236.       structures, file structures, compilers, comparative languages.
  237.       The thirteen books in Group 3 are either "Ada books" focusing on
  238.       the language features or more general books that use Ada, at
  239.       least in part, but do not fit obviously into a standard
  240.       curriculum "pigeonhole."
  241.  
  242.       I invite you to add to the list.  Please write your annotated
  243.       entry in the form I have used here and write or e-mail it to me.
  244.       I will include it in my next version and credit you as a
  245.       co-compiler of the list.
  246.  
  247.       Disclaimers: I wrote two of the texts listed here; I hope the
  248.       annotations are impartial enough.  And any annotated
  249.       bibliography is selective and opinionated.  Your mileage may
  250.       vary.
  251.  
  252.       Group 1: Books Suitable for a First Course in Programming
  253.  
  254.       Bover, D.C.C., K.J. Maciuas, and M.J. Oudshoorn.
  255.       Ada: A First Course in Programming and Software Engineering.
  256.       Addison-Wesley, 1992.
  257.       This work is, to our knowledge, the first Ada book to emerge
  258.       from Australia, from a group of authors with much collective
  259.       experience in teaching Ada to first-year students.  A number of
  260.       interesting examples are presented, for example, an Othello
  261.       game.  The book is full of gentle humor, a definite advantage in
  262.       a world of dry and serious texts.  In the book's favor is the
  263.       large number of complete programs.  On the other hand, it is
  264.       rather "European" in its terseness; American teachers may miss
  265.       the pedagogical apparatus and "hand-holding" typically found in
  266.       today's CS1 books.  Generic units are hardly mentioned.
  267.  
  268.       Culwin, F.
  269.       Ada: a Developmental Approach.
  270.       Prentice-Hall, 1992.
  271.       This work introduces Ada along with a good first-year approach
  272.       to software development methodology.  Much attention is paid to
  273.       program design, documentation, and testing.  Enough material is
  274.       present in data structures and algorithm analysis is present to
  275.       carry a CS2 course.  A drawback of the book is that the first
  276.       third is quite "Pascal-like" in its presentation order:
  277.       procedures, including nested ones, are presented rather early,
  278.       and packages are deferred until nearly the middle of the book.
  279.       This is certainly not a fatal flaw, but it will frustrate
  280.       teachers wishing a more package-oriented presentation.  The
  281.       programs and solutions are apparently available from the author.
  282.  
  283.       Feldman, M.B., and E.B. Koffman.
  284.       Ada: Problem Solving and Program Design.
  285.       Addison-Wesley, 1991.
  286.       This work combines the successful material from Koffman's CS1
  287.       pedagogy with a software-engineering-oriented Ada presentation
  288.       order.  Packages are introduced early and emphasized heavily;
  289.       chapters on abstract data types, unconstrained arrays, generics,
  290.       recursion, and dynamic data structures appear later.  The last
  291.       five chapters, combined with some language-independent algorithm
  292.       theory, can serve as the basis of a CS2 course.  A diskette with
  293.       all the fully-worked packages and examples (about 180) is
  294.       included; the instructor's manual contains a diskette with
  295.       project solutions.
  296.  
  297.       Savitch, W.J. and C.G. Petersen.
  298.       Ada: an Introduction to the Art and Science of Programming.
  299.       Benjamin/Cummings, 1992.
  300.       This is a straightforward adaptation of the well-known Savitch
  301.       Pascal books.  Ada is introduced in a Pascal-like order, with
  302.       subtypes and packages introduced halfway through the book.  This
  303.       is purely a CS1 book.  The final chapter covers dynamic data
  304.       structures.  There is no coverage of unconstrained array types;
  305.       generics are introduced at the halfway point to explain Text_IO,
  306.       then dropped until the final chapter.  The authors intended this
  307.       book to provide a painless transition to Ada for teachers of
  308.       Pascal; one wishes they had taken advantage of the chance to
  309.       show some of the interesting Ada concepts as well.  Program
  310.       examples from the text are available on disk, but only as part
  311.       of the instructor's manual; a solutions disk is available for a
  312.       fee from the authors.
  313.  
  314.       Skansholm, J.
  315.       Ada from the Beginning.
  316.       Addison Wesley, 1988.
  317.       This book was one of the first to use Ada with CS1-style
  318.       pedagogy.  There are excellent sections on the idiosyncracies of
  319.       interactive I/O (a problem in all languages), and a sufficient
  320.       number of fully-worked examples to satisfy students.  Generics,
  321.       linked lists and recursion are covered at the end; there is no
  322.       tasking coverage, but one would not expect this at CS1-level.
  323.  
  324.       Volper, D., and M. Katz.
  325.       Introduction to Programming Using Ada.
  326.       Prentice-Hall, 1990.
  327.       This book uses a heavily "spiraled" approach to Ada, and is
  328.       designed for a 2-semester course, covering nearly all of Ada
  329.       eventually.  There are lots of fully-coded examples, and good
  330.       pedagogical sections on testing, coding style, etc.  If you like
  331.       spiraling, you'll like this.  The down side is that you can't
  332.       find all you need on a given subject in one place.  It's at the
  333.       other end of the scale from the "Ada books" that follow the Ada
  334.       Language Reference Manual (LRM) order.
  335.  
  336.       Group 2: Other Books Intended for Undergraduate Courses
  337.  
  338.       Ben-Ari, M.
  339.       Principles of Concurrent and Distributed Programming.
  340.       Prentice-Hall 1990.  (OS/concurrency)
  341.       In my opinion, this is the best introduction to concurrency on
  342.       the market.  Ada notation is used for everything, but the focus
  343.       is on concurrency and not on Ada constructs per se.  I liked the
  344.       CoPascal notation of the first edition better, but this book is
  345.       still great.  A software disk is promised in the preface; I had
  346.       to work quite hard to get it from the publisher, which finally
  347.       had to express-ship it from England.  The software comes with a
  348.       tiny Ada-ish interpreter, complete with Pascal source code,
  349.       adapted from Wirth's Pascal/S via CoPascal.  There are also some
  350.       real Ada programs, most of which I've tested and found correct
  351.       and portable.
  352.  
  353.       Feldman, M.B.
  354.       Data Structures with Ada.
  355.       Prentice Hall, 1985 (now distributed by Addison-Wesley).
  356.       (CS2/data structures)
  357.       This book is a reasonable approximation to a modern CS2 book:
  358.       "big O" analysis, linked lists, queues and stacks, graphs,
  359.       trees, hash methods, and sorting, are all covered.  The Ada is a
  360.       bit old-fashioned, especially the lack of generics; the book was
  361.       published before compilers could handle generics.  The packages
  362.       and other programs are available free from the author.  The book
  363.       is currently under revision with Addison-Wesley and should
  364.       appear in 1993.
  365.  
  366.       Fischer, C., and R. LeBlanc.
  367.       Crafting a Compiler.
  368.       Benjamin Cummings, 1988.  (compilers)
  369.       This book uses Ada as its language of discourse and Ada/CS, a
  370.       usefully large Ada subset, as the language being compiled.  If
  371.       you can get the "plain Pascal" tool software by ftp from the
  372.       authors, you'll have a good translator-writing toolset.  Skip
  373.       the Turbo Pascal diskette version, which is missing too many
  374.       pieces to be useful.  I've used the book since it came out with
  375.       both undergrad and graduate compiler courses; it embodies a good
  376.       blend of theory and "how it's really done" coding.  Students
  377.       like it.  The authors have recently published a second version,
  378.       which uses C as its coding language but retains Ada/CS as the
  379.       language being compiled.
  380.  
  381.       Lomuto, N.
  382.       Problem-Solving Methods with Examples in Ada.
  383.       Prentice-Hall, 1987.  (algorithms)
  384.       Inspired by Polya's classic How to Solve It, this book can make
  385.       a nice addition to an Ada-oriented algorithms course.  It makes
  386.       too many assumptions about students' programming background to
  387.       use as a CS1 book, and doesn't teach enough Ada to be an "Ada
  388.       book."  But it makes nice reading for students sophisticated
  389.       enough to handle it.  I'd classify it as similar to Bentley's
  390.       Programming Pearls.
  391.  
  392.       Miller, N.E. and C.G. Petersen.
  393.       File Structures with Ada.
  394.       Benjamin/Cummings, 1990.  (file structures)
  395.       Designed for a straightforward ACM-curriculum file structures
  396.       course, this book succeeds at what it does.  There are good
  397.       discussions of ISAM and B-tree organizations.  The software can
  398.       be purchased a low cost from the authors; it seems to
  399.       approximate in Ada all those C-based file packages advertised in
  400.       programmer-oriented trade publications.
  401.  
  402.       Schneider, G.M., and S.C. Bruell.
  403.       Concepts in Data Structures and Software Development (with Ada
  404.       Supplement by P. Texel).
  405.       West, 1991.  (CS2/data structures)
  406.       This work is not, strictly speaking, an Ada book; rather, it is
  407.       a solid, language-independent approach to modern CS2.  The
  408.       language of discourse in the book is a Pascal-like ADT language
  409.       rather like Modula-2 in style; some examples are coded in legal
  410.       Pascal.  The Ada supplement makes it usable in an Ada-based
  411.       course, but the supplement is rather too terse (100 pages of
  412.       large type) for my taste, and insufficiently well keyed to the
  413.       book chapters.  The supplement's effectiveness would be greatly
  414.       enhanced by full translations to Ada of a large number of the
  415.       book's examples.
  416.  
  417.       Sebesta, R.W.
  418.       Concepts of Programming Languages.
  419.       Benjamin Cummings, 1989.  (comparative languages)
  420.       If you've been around for a while, you might remember the late
  421.       Mark Elson's 1975 book by the same title.  This is similar: a
  422.       concept-by- concept presentation, with -- in each chapter --
  423.       examples taken from several languages.  There is a nice
  424.       impartial presentation of Ada along with the others.  I
  425.       especially like the chapters on abstraction and exception
  426.       handling.  The book covers -- comparatively, of course -- most
  427.       of the lanuages you'd like to see, including C, Lisp, Smalltalk,
  428.       etc., with nice historical chapters as well.  The book is
  429.       readable; my students like it.  Our undergraduate and graduate
  430.       courses both use it as a base text.
  431.  
  432.       Group 3: A Selection of Other Ada-Related Books
  433.  
  434.       Barnes, J.
  435.       Programming in Ada.  (3rd edition)
  436.       Addison Wesley, 1989.
  437.       Barnes' work has been one of the most popular "Ada books."  Some
  438.       students find it hard to see how the pieces fit together from
  439.       Barnes' often fragmentary examples; it is difficult to find
  440.       complete, fully- worked out, compilable programs.  A version is
  441.       available with the entire Ada Language Reference Manual bound in
  442.       as an appendix.
  443.  
  444.       Booch, G.
  445.       Object-Oriented Design, with Applications.
  446.       Benjamin Cummings, 1991.
  447.       This is a good comparative introduction to the "object-oriented
  448.       (OO)" concept.  The first half gives a balanced presentation of
  449.       the issues in OO Design; the second half gives nontrivial
  450.       examples from Ada, Smalltalk, C++, CLOS, and Object Pascal.  The
  451.       author tries to sort out the difference between object-based
  452.       (weak inheritance, like Ada) and object-oriented (like C++)
  453.       languages.  My only real complaint is that Booch should have
  454.       worked out at least some of his case studies using several
  455.       different languages, to highlight the similarities and
  456.       differences in the language structures.  As it is, each case
  457.       study is done in only a single language.  The good news is that
  458.       the book is remarkably free of the hyperbolic claims one
  459.       sometimes finds in the OO literature.  I think this book could
  460.       be used successfully in a second- level comparative languages
  461.       course.
  462.  
  463.       Booch, G.
  464.       Software Components with Ada.
  465.       Benjamin Cummings, 1987.
  466.       This work is an encyclopedic presentation of data structure
  467.       packages from Booch's OOD point of view.  It is great for those
  468.       who love taxonomies.  It's not for the faint-hearted, because
  469.       the volume of material can be overwhelming.  It could serve as a
  470.       text for an advanced data structures course, but it's thin in
  471.       "big O" analysis and other algorithm-theory matters.  The book
  472.       is keyed to the (purchasable) Booch Components.
  473.  
  474.       Booch, G.
  475.       Software Engineering with Ada.  (2nd edition)
  476.       Benjamin Cummings 1987.
  477.       Another of the classical "Ada books."  Introduces Booch's OOD
  478.       ideas.  Not for use to introduce Ada to novices, in my opinion;
  479.       there are some nice fully-worked case studies but they begin too
  480.       far into the book, after long sections on design, philosophy,
  481.       and language elements.  The earlier chapters contain too much
  482.       fragmentary code, a common flaw in books that follow the LRM
  483.       order.
  484.  
  485.       Bryan, D.L., and G.O. Mendal.
  486.       Exploring Ada, Volumes 1 and 2.
  487.       Prentice-Hall, 1990 and 1992 respectively.
  488.       This is an excellent study of some of the interesting nooks and
  489.       crannies of Ada; it sometimes gets tricky and
  490.       "language-lawyerly."  Volume 2 takes up tasking, generics,
  491.       exceptions, derived types, scope and visibility; Volume 1 covers
  492.       everything else.  The programs are short and narrowly focused on
  493.       specific language issues.  If you like Bryan's "Dear Ada" column
  494.       in Ada Letters, you'll like this book.  It is certainly not a
  495.       book for beginners, but great fun for those who know Ada already
  496.       and wish to explore.
  497.  
  498.       Burns, A.
  499.       Concurrent Programming in Ada.
  500.       Cambridge University Press, 1985.
  501.       I used this book for years in my concurrency course.  It's
  502.       roughly equivalent to Gehani's book, but its age is showing.
  503.       Cambridge Press is not always easy to get books from, especially
  504.       in the US.
  505.  
  506.       Cohen, N.
  507.       Ada as a Second Language.
  508.       McGraw Hill, 1986.
  509.       This book is a quite comprehensive exploration of Ada which
  510.       follows the LRM in its presentation order.  My graduate students
  511.       like it because it is more detailed and complete than
  512.       alternative texts.  It's an excellent book for students who know
  513.       their languages and want to study all of Ada.  There are good
  514.       discussions of "why's and wherefore's" and many long,
  515.       fully-worked examples.
  516.  
  517.       Gauthier, M.
  518.       Ada: Un Apprentissage (in French).
  519.       Dunod, 1989.
  520.       I found this an especially interesting, almost philosophical
  521.       approach to Ada.  The first section presents Ada in the context
  522.       of more general laguage principles: types, genericity,
  523.       reusability.  The second section introduces testing and
  524.       documentation concerns, as well as tasking; the third considers
  525.       generics and variant records in the more general context of
  526.       polymorphism.  For mature Ada students in the French-speaking
  527.       world, and others who can follow technical French, this book can
  528.       serve as a different slant on the conventional presentations of
  529.       the language.  An English translation would be a real
  530.       contribution to the Ada literature.
  531.  
  532.       Gehani, N.
  533.       Ada: an Advanced Introduction (2nd edition).
  534.       Prentice-Hall, 1989.
  535.       I've always liked Gehani's literate writing style; he knows his
  536.       languages and treats Ada in an interesting, mature, and balanced
  537.       fashion.  This book comes with a diskette sealed in the back of
  538.       the book, which is advantageous because the book has numerous
  539.       nontrivial, fully- worked examples.
  540.  
  541.       Gehani, N.
  542.       Ada: Concurrent Programming (2nd edition).
  543.       Silicon Press, 1991.
  544.       This is a less formal, more Ada-oriented presentation of
  545.       concurrency than the Ben-Ari work.  I use both books in my
  546.       concurrency course; its real strength is the large number of
  547.       nontrivial, fully worked examples.  Gehani offers a nice
  548.       critique of the tasking model from the point of view of an OS
  549.       person.  The preface promises the availability of a software
  550.       disk from the publisher.
  551.  
  552.       Nyberg, K.
  553.       The Annotated Ada Reference Manual.  (2nd edition)
  554.       Grebyn Corporation, 1991.
  555.       This is the definitive work on Ada legalities, because it
  556.       presents not only the full text of the LRM but also the official
  557.       Ada Interpretations.  These commentaries, interleaved with the
  558.       LRM text, have been approved and promulgated by the Ada Board
  559.       and the various standards organizations, and are binding upon
  560.       compiler developers.  I recommend this book as an essential
  561.       volume in the library of every serious Ada enthusiast.
  562.  
  563.       Shumate, K.
  564.       Understanding Ada.  (2nd edition)
  565.       John Wiley, 1989.
  566.       This would make a CS1 book if it included more overall pedagogy,
  567.       independent of language constructs.  Otherwise it is a nice
  568.       introduction to Ada in fairly gentle steps.  Lots of completely
  569.       worked examples, right from the start.  Doesn't follow the LRM
  570.       order, which is great.
  571.  
  572.       Watt, D.A., B.A. Wichmann, and W. Findlay.
  573.       Ada Language and Methodology.
  574.       Prentice-Hall, 1987.
  575.       This work presents some interesting programming projects, and
  576.       the coverage of design and testing--at the level of a first-year
  577.       student--is quite good.  The first third of the book
  578.       concentrates heavily on classical control and data structures,
  579.       leaving exceptions and packages until the "programming in the
  580.       large" material in the second third.  CS2 teachers will find too
  581.       little concentration on algorithm analysis.  On the other hand,
  582.       tasking and machine-dependent programming are covered.  Like the
  583.       Shumate work, this book would make a suitable introduction to
  584.       Ada for students with a semester or so of programming
  585.       experience; it "jumps in" too quickly to satisfy the needs of
  586.       neophytes and is not well-tailored to CS1 or CS2 needs.
  587.  
  588. 21) Where can I get language translators?
  589.  
  590.       The AdaIC maintains a Products and Tools Database on its
  591.       bulletin board (703-614-0215), and one of the categories is
  592.       translators.  (The list of products should not be considered
  593.       exhaustive; if you wish to suggest additions, please contact the
  594.       AdaIC.) Besides access to the database via the bulletin
  595.       board, you can also call the AdaIC (800-AdaIC-11 or 703/685-
  596.       1477) and ask for a customized search.
  597.  
  598.       In addition to all the usual caveats, however, it should also be
  599.       noted that translation itself is a controversial issue.
  600.  
  601.       When a project makes the transition to Ada from some other
  602.       language, one question that arises is whether to translate older
  603.       code into Ada.  Among the immediate considerations are how much
  604.       of the code can in fact be translated by a program intended for
  605.       that purpose, versus how much will still require re-coding by
  606.       hand.  And will the translated code will suffer a significant
  607.       loss in speed of execution?  Further, a project must consider
  608.       whether the translated code will reflect sound software
  609.       engineering and be readily understandable and modifiable.  Or
  610.       will it be merely "Fortranized Ada" or "Cobolized Ada", or the
  611.       like, possibly retaining limitations present in the earlier
  612.       code?  Portability is also a problem.
  613.  
  614.       The resolution of such issues will require an understanding of
  615.       the earlier code, an appreciation of the similarities and
  616.       differences between its language and Ada, and an evaluation of
  617.       the translation program under consideration.
  618.  
  619. ==============================================================================
  620.  
  621.