sdy@ssc-vax.UUCP (meaningless trivia) (07/14/88)
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. Feel free to email replies I'll summerize -- or just post -- it don't matter much to me. steve. -- Steven D. Yee >>> my employer does not share my opinions <<< uw-beaver!ssc-vax!ssc-bee!sdy >>> (that's because I'm always right! ;-) <<< There are ways of dealing with people like you.
johndoe@ada-uts (07/18/88)
***** 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