FREE Delivery in the UK.
Only 1 left in stock (more on the way).
Dispatched from and sold by Amazon.
Gift-wrap available.
Programming in ADA 2005 (... has been added to your Basket
+ £2.80 UK delivery
Used: Good | Details
Sold by momox co uk
Condition: Used: Good
Comment: Please allow 1-2 weeks for delivery. For DVDs please check region code before ordering.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Programming in ADA 2005 (International Computer Science Series) Paperback – 25 May 2006

2 customer reviews

See all formats and editions Hide other formats and editions
Amazon Price New from Used from
"Please retry"
£37.21 £13.91
£52.99 FREE Delivery in the UK. Only 1 left in stock (more on the way). Dispatched from and sold by Amazon. Gift-wrap available.

Product details

  • Paperback: 848 pages
  • Publisher: Addison Wesley; 1 edition (25 May 2006)
  • Language: English
  • ISBN-10: 0321340787
  • ISBN-13: 978-0321340788
  • Product Dimensions: 17.4 x 4.4 x 23.5 cm
  • Average Customer Review: 3.5 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Bestsellers Rank: 1,126,638 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Authors

Discover books, learn about writers, and more.

Product Description

From the Back Cover

Programming in Ada 2005


John Barnes


“This book is going to be a tremendous resource that will prove useful for many years.  It combines a broad description of the entire language, including its predefined libraries, with an in-depth study of a number of areas of particular interest such as object-oriented techniques or concurrency.  It includes extensive examples showing how the numerous features of Ada can be made to work together in practical situations.”

 ~ Pascal Leroy, Chairman of the Ada Rapporteur Group.



Programming in Ada 2005 is the definitive tutorial and reference for a ground-breaking new version of Ada (Ada 2005), a significant revision of the language of choice for applications where safety, security and reliability are paramount.  


The major changes from Ada 95 are:


Ø      A new OO model to incorporate Java-style multiple inheritance and more rigorous error analysis prior to execution;

Ø      Synchronized interfaces to unify the OO and concurrent domains – a radical innovation in language design;

Ø      More flexible but totally safe manipulation of pointers;

Ø      An improved structure enabling large programs to be decomposed more easily;

Ø      Many extensions to the Real-Time facilities, keeping Ada ahead of other languages for embedded applications;

Ø      Improved interfacing to other systems and languages;

Ø      Enhanced standard library support including containers.


John Barnes was a key member of the original Ada design team and has been a pivotal figure in its evolution ever since.  Over 150,000 students and software engineers have learned Ada from previous editions – widely praised for their witty and urbane style.  He is also the author of High Integrity Software: The SPARK Approach to Safety and Security.

Inside This Book

(Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

3.5 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See both customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

1 of 1 people found the following review helpful By TREX on 3 April 2012
Format: Paperback
This book should never be used as a text by Ada learners.

I say this because the author has not gathered his material coherently for beginners with Ada.
He writes off the point far too often -- e.g. on the "hidden" part of a package with a private type -- and often confuses the original objective of an Ada construct with one of its useful by-products.
There is also far too much polemics on computer languages in this book -- what's right in Java, what's not right in C, etc. No textbook ought have much of this.
The writing style is disagreeably quaint and quite show-off as well.
And worst of all - unforgivable in a textbook, really - is the lack of useful exercises to consolidate the contents of each section. Without these you never really learn in the true sense.
While fixing a book to one platform or compiler would not be desirable, I feel that making readers to run basic programs (e.g. on some free compiler and IDE) from the beginning would be the easiest way to give them confidence with Ada. These programs could then be adapted as further elements of Ada are acquired in subsequent sections. Some wholly new example programs from a variety of professional fields could also be added in as the reader goes through the book.
This would make the learning experience much more engaging and effective.

No good Ada 2005 textbooks being yet available, I can only advise readers to get a good Ada 95 text (John English's Ada : The Craft of Object Oriented Programming being my personal choice) and then learn (from Barnes or the ARM) how the Ada 2005 updates enhance it.
A reluctant 2 stars for this effort by Barnes, who seems more concerned with exhibiting his own virtuosity than in guiding readers through the elements of Ada, a truly useful modern computer language.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
1 of 5 people found the following review helpful By Lars Tørnes Hansen on 19 July 2009
Format: Paperback
Great book!

In my opinion this book is best one for learning the Ada 2005 programming language.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on (beta) 8 reviews
11 of 11 people found the following review helpful
A definitive work 3 Jan. 2007
By Chris - Published on
Format: Paperback
This is a definitive work by someone that clearly understands the history, culture and technical aspects of Ada. Thank you (once again) to John Barnes ! This is the Ada textbook you need.

Main gripe is that, like so much of the Ada community, the author seems loathed to use pictures, instead preferring detailed text. Perhaps this culture comes from the Ada LRM. But it's very well written detailed text !
6 of 6 people found the following review helpful
Good Reference 10 Feb. 2009
By K. Swanger - Published on
Format: Paperback
I agree that the book may not be for beginners but it is a good reference to have while coding. It is much easier to have this by your side than going and searching a document on the computer constantly. The book is a little vague on the topics but it is enough information to get you started in the right direction. If you are looking for a complete How-To guide for Ada then this is not the manual for you. If you are looking for a book that will give you some guidance on syntax and functions and only need a reference then this is the book for you.
6 of 6 people found the following review helpful
a strictly intermediate textbook 23 April 2011
By Dan'l Miller - Published on
Format: Paperback
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. When writing programs in Ada, one must not only be thinking of the syntax, but of a more-elaborate semantics than is present in nearly any other programming language, because few other programming languages attempt to perform mostly a priori as elaborate of a proof-by-mathematical-induction of the correctness of the lifetime of memory allocation as Ada does. 1) A priori design of strong- versus weak-links in otherwise a posteriori smart-pointer synchronous garbage destruction in C++, 2) Ada's largely a priori proof-construction mostly at compile time for the compiler or runtime to overtly/synchronously know when the end-of-life occurs, and 3) the various flavors of asynchronous automatic garbage collection (AGC) in many programming lanugages are 3 competing schools of thought, where it is largely C++ versus Ada versus the rest of the imperative-programming world, so it is no trivial matter in learning Ada. Multiple times in this textbook, Barnes touches on this memory-allocation end-of-life topic with an it-just-works attitude without enumerating all the nontrivial subtleties (as the LRM and AARM do) that can precipitate the situation where the Ada compiler can emit a vast variety of compile-time errors that inform the programmer that the code's malformedness or sloppiness a) blocks incremental formation of the mathematical proof and b) hence likely has at least one bug.

On this topic of determining memory allocations' end of life, I do sympathize with the reviewer who instructed us all in effect: go read the freely-available-for-download _Ada Reference Manual_ (LRM) or better yet the freely-available-for-download _Annotated Ada Reference Manual_ (AARM) and to a lesser degree the freely-available-for-download _Ada Rationale_ to learn about how this proof-by-mathematical-induction is constructed. Although even in those references, the information is highly scattered piecemeal. I hope that the author will add a lengthy chapter on this topic in the next edition, because it *definitely* needs more illumination (without a programmer needing to slog through the 1,220-page AARM to interpret all the subtle nuances) for a programmer to understand all the compile-time errors regarding why the program is being rejected due to the compiler's incremental formation of this mathematical proof followed by the runtime's enforcement a posteriori of what the compiler could not accomplish a priori.
4 of 4 people found the following review helpful
Coverage of modern Ada 30 July 2012
By a reader - Published on
Format: Paperback
The most thorough text on Ada is Cohen's _Ada as a Second Language_. Barnes has two qualities to distinguish it from Cohen; it is a good deal more readable and it covers Ada 2005.

The importance of readability is something you have to judge for yourself. The first few chapters of Barnes give a decent overview of Ada, but for a thorough tutorial you should look at Naiditch's _Rendezvous with Ada 95_.

When the book was updated to cover Ada 2005, the main changes were a complete revsion of Ch. 19 "Object Oriented Techniques" and the addition of Ch. 20 "Tasking Techniques" and Ch. 22 "Container Library". The new Ch. 20 covers some of what is in Burns & Wellings' _Concurrent and Real-Time Programming in Ada_. Other changes were no more than a few pages here and there. Read the freely downloadable _Ada 2005 Rationale_ to see what changed from Ada 95.
2 of 2 people found the following review helpful
Not what I was hoping for 18 Jun. 2013
By Alan Jump - Published on
Format: Paperback Verified Purchase
While Barnes' text is an outstanding reference for those who want to understand the "whys" and "wherefores" of Ada, it's limited in value as a basic instructional text on the language, because Barnes DOES go so deeply into those "whys" and "wherefores".

I want to know more about the proper syntax needed to craft a particular program or package, and less about the mathematical proofs behind that syntax. If I ever need to know why a particular construct works -- or doesn't work -- under the rules of Ada, I'll open up the Language Reference Manual and review the appropriate sections.

The copy I ordered and received as a "used" book was received with a great big "CS 407" label across the front, which marks it as a text for an upper-division computer science course. It's a very accurate label, and a very apt application. But since I'm still somewhere around the 206 level, this really wasn't the book for me. I'll keep it as a reference, but it won't be my primary text for learning Ada.
Were these reviews helpful? Let us know