Paperback: 848 pages
Publisher: Pearson (July 10, 2006)
Product Dimensions: 6.8 x 1.8 x 9.2 inches
Shipping Weight: 3.1 pounds (View shipping rates and policies)
Average Customer Review: 3.9 out of 5 stars See all reviews (8 customer reviews)
Best Sellers Rank: #1,385,900 in Books (See Top 100 in Books) #23 in Books > Computers & Technology > Programming > Languages & Tools > Ada #4552 in Books > Textbooks > Computer Science > Programming Languages #10337 in Books > Computers & Technology > Software
Excellent textbook whose main message could be summarized as: Ada2005 is not your father's Ada83. Or Ada83 corrected and done right. Or perhaps by unstated-by-Barnes implication: C++ and Java done right, assuming an Algol68/Pascal syntax instead of C syntax.For all practical purposes, this textbook assumes that you already know a non-Ada2005 object-oriented imperative programming lanugage, and that you are interested in learning Ada as an additional OO imperative programming langugage beyond the ones that you already know, such as Ada83, Ada95, Java, C++, C#, Objective C, Python, or Smalltalk. (Conversely, this textbook rarely mentions non-Ada2005 programming languages other than Ada83 and Ada95.) Hence it is not for true beginners who do not already know basic imperative or OO concepts, because practically no introduction of or justification of such basics is provided. Although, regarding the readers for whom syntax and semantics that generally correspond to other OO imperative programming languages is their primary interest, they will be exhilarated by Barnes' illumination of the orthogonality, tunability, and flexibility that Ada's syntax permits to go from highly-efficient hardware device drivers up through quite-sophisticated abstractions & enforcements (including now, in Ada2012, declaration of Eiffel-style invariants, which of course are absent in this Ada2005 textbook) when compared to nearly any other programming language: OO or imperative or generic or pure-functional or otherwise.Conversely, this textbook (and the reason that I deducted one star) provides very few details regarding how the Ada run-time checks operate and only partially covers how the Ada compile-time checks operate.