Used price: $42.15
Buy one from zShops for: $42.30
The book does not attempt to cover all the standard Dylan functions and classes, and thus it does not intend to replace the Dylan Reference Manual (DRM). I often find myself using this book as a reference for language features though.
The only thing that I considered a "problem" is that it took them until chapter 11 to start discussing control structures (like the loops and decision statements). My attention was wandering and I had to skip ahead to keep my interest.
It also seems to be oriented towards people who are already familiar with C++ or Java (or some other object-oriented language), which is probably not a bad assumption. I can't imagine someone picking this up as their first language, but it is just a word of warning, just in case.
In summary, very, very good book. Don't make the mistake of getting the Dylan Reference Manual as a way to learn Dylan -- "Dylan Programming" is the book to get for learning the language.
Used price: $0.01
Collectible price: $5.08
Buy one from zShops for: $1.99
List price: $16.95 (that's 30% off!)
Used price: $7.95
Buy one from zShops for: $8.39
Used price: $0.01
Collectible price: $3.18
Used price: $0.01
Collectible price: $2.12
Buy one from zShops for: $4.97
Used price: $17.50
Buy one from zShops for: $20.00
Used price: $0.01
Collectible price: $3.18
Used price: $0.70
Collectible price: $2.50
Buy one from zShops for: $0.83
Shirer knew this was to be his last book, and it was. After such a prolific and successful career (14 books and 52 years), to devote his last energies to such a work must imply that he took a special interest in the subject matter. It shows. All of the other books of his I've read have been excellent, and this one is no exception.
Used price: $1.47
Buy one from zShops for: $4.99
As the beautiful Angel Sherwood sailed from England to Louisiana, she sensed hat her destiny flowed with the rough waves of the ocean.Frightened by the harsh sea, Angel prayed that perhaps, just perhaps, she would find happiness and romance in her new home.
But Angel's fate changed course when she was kidnapped by the cruel, yet captivating pirate, Captain Ty. And even though her future was suddenly in the balance, Angel was strangely warmed by his manly touch.....
Used price: $2.90
Collectible price: $3.84
I have three points where I find the book wanting: organization, exactness/correctness, and completeness.
I found the book's organization a bit puzzling: especially when it came to control structures. In my teaching sessions, I needed to move forward 11.1-11.5 (skipping parts of 11.3 and all of 11.4) before I covered chapter 4 (classes). Also, interspersing the airport example seemed random at times, particularly in the second half of the book. I chose to skip those chapters (for teaching purposes).
The book was incorrect for several of its page references. This was particularly annoying as it happened that I followed a reference on several occasions, only to be led to the wrong page. For example, page 182 (center) refers one to page 172 for the definition of sum (a function), this function actually appears on page 174. Page 183 (center) refers one to page 147 for the use of curry ... this example is actually at the end of page 148. Page 183 (center), again, refers one to page 181 for the use of the function choose, which is not mentioned until page 182 ... and on, and on, and on. Some references were so obscure that I could not find what these references meant on any page near the page they mentioned. Chasing referred pages, then, became a tiresome venture that often disappointed.
As for completeness, I mentioned in the previous paragraph the function choose, a very useful function. However, if one looks in the index, no mention, anywhere, is made of it. The authors took pains to highlight it in the text, explain it, and provide an example. This exact problem exists also for the function apply, another very useful function. _Dylan Programming_ falls down in the index for generalities as well as specifics, as we've seen: no entry exists for first-, or higher-, order functions. Also, the index entries for protocol and efficiency point to one line definitions in introductory sections, where their explanations occur much later in those chapters.
Even though the index has some faults, the references are off at times (too often, unfortunately), and I disagree with the book's presentation of fundamental topics too late, the book shines overall, and shines primarily that it teaches Dylan well.
First, some of the book's explanations surpass those of the _Dylan Reference Manual_ (DRM). It used illustrations, code examples, and metaphors repeatedly to get the point of the section across. Not only that, but it went in depth on some topics where the DRM chose terseness: for example, _Dylan Programming_ has explained modules as namespaces very well. Accompanying many sections were interactive examples in a Dylan listener so that the reader could try out the topic's techniques as they read.
Second, the book unifies the presentation of the language very well. The DRM is excellent at examining language features piece by piece; _Dylan Programming_ is excellent at putting these pieces together at the chapter level. They even have a bulleted chapter summary of the topics covered.
And, third, the book succeeds in a practical way. All of my students were new to Dylan (some new to programming), yet each completed their final project assignments, due in large part to the help this book gave them. One programming neophyte created a final project that computed the possible blood types of a child from known parents' blood types (a relatively simple task), but then created a blood type inference system that postulated a blood type of a parent based on one parent's and the child's blood type ... a more significant achievement. Another created a mathematical symbolic processor (it found, among other things, the roots of quadratic equations).
Overall, then, this book has some minor shortcomings. As a book to learn Dylan, though, it is without peer, and I strongly recommend it as the first book from which to learn the language.