From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!water!watmath!clyde!att!pacbell!ames!mailrus!cornell!rochester!bbn!inmet!ishmael!inmet!ada-uts!johndoe From: johndoe@ada-uts Newsgroups: comp.lang.ada Subject: Re: available ada books? Message-ID: <57900078@ada-uts> Date: 18 Jul 88 14:47:00 GMT References: <1102@ssc-bee.ssc-vax.UUCP> Nf-ID: #R:ssc-bee.ssc-vax.UUCP:-110200:ada-uts:57900078:000:3631 Nf-From: ada-uts!johndoe Jul 18 10:47:00 1988 List-Id: ***** ada-uts:comp.lang.ada / ssc-bee.ssUC~Q!sdy / 6:00 pm Jul 13, 1988 this is where my notesfile says it came from. i tried email, but no chance! This one's also loooong, so skip it if you're an Ada-god. So if you were going to pick one reference book (not the LRM) for a person who already knows some Ada which one would it be? We have a few Barnes' books around here that aren't too bad but I figure there must have been some newer ones published since then. I've never seen the Ada book by Barnes, so i really have no basis for making a true comparison. A book i have had pretty good success with is Ada as a second language by Norman H. Cohen (McGraw Hill:1986). If you don't know Ada or only know a little, but do know another language pretty well, this book is for you. It uses some examples of PL/I, FORTRAN and Pascal to illustrate some of the constructs in Ada and the reasons for them; (the author proclaims, however, that if you don't know one of these languages, the book should still be self-explanatory.) The text is divided into 20 chapters: 1 - A history of Ada; you can skip this chapter 2 - A whirlwind introduction to Ada; this chapter makes at least a passing reference to just about everything in Ada - useful for knowing where all the pieces fit in as you read the rest of the chapters. 3 - Ada Types and how the user can define types 4 - Object and Type Declarations; how to declare variables, etc. 5 - Access types; Ada's version of pointers 6 - Subtypes and Equivalence; restrictions on the use of types, differences between types and subtypes, use of constraints 7 - Statements 8 - Expressions - includes how to use aggregates, records, and attributes 9 - Subprograms - includes a discussion on structure 10 - Record types with discriminants; description of and use of 11 - Packages 12 - Private and Limited Private types 13 - Separate compilation; order of compilation; elaboration 14 - Rules of scope and visibility; ordered better than LRM 15 - Exceptions; handling, propogation, guidelines for use 16 - Generic units; with helpful examples and explanation 17 - Predefined i/o; discussion of file types, internal and external i/o, manipulating external files, stream-oriented i/o, sequential and direct-access i/o 18 - Introduction to tasks; includes introductory comments on concurrency and a comparison to sequential problems 19 - controlling task interaction; this chapter and the last obviously go into more detail since there is no widely used language to use a starting point for comparison. 20 - Low-level i/o; use of the language for the truly nitty gritty The text is fairly comprehendible, and it is quite extensive, but for that very reason, it is quite large (the edition i have is over 800 pages!) Besides that, the only thing i don't like about it is the way the author defines his own method of coding for readability, which is almost a direct opposite of the LRM standard (e.g. FUNCTION Three_Way_Adder (First, Second, Third : IN Integer) RETURN Integer IS instead of function THREE_WAY_ADDER (FIRST, SECOND, THIRD : in INTEGER) return INTEGER is This is merely a matter of personal preference, however. Otherwise, it gets my recommendation. ---------- Kirk Beitz