I'm a tough grader, and four stars from me is doing very well! The bottom line is that this book is well organised, written clearly, and discusses a moderately difficult subject pleasantly and with competency.
The book fitted my background. I started programming in 1959, became proficient in FORTRAN by the mid 60's, added BASIC and LOGO when I bought my first computer a decade later, used HyperCard while it was being supported, dabbled in PASCAL, and learned too little C before retiring in 1996. When I bought this book, my last programming was ten years behind me, and modern computer languages weren't in my repertory at all.
I like a textbook approach -- clear exposition with plenty of examples, followed by problems to solve -- and Kochan provided just that. Often the examples preceded the exposition, and that worked fine, too. I prided myself on solving all the chapter-ending problems without looking at any of the solutions, and the book equipped me to do that, although a few problems in the later chapters took me a long time. Very occasionally I encountered typographical errors, but, almost always, what I had learned from the book allowed me to proceed. The point is not that there were typos here and there -- what technical manual is without them -- but that the book itself kept them from becoming an obstacle.
From the end of Chapter 4 I was able to begin using what I had learned, actually putting AppleScript to work. That provided motivation to go on and finish the book, which took three months, incidentally.
The book has an attractive layout and is blessed with an excellent table of contents, a comprehensive index, and a short list of other resources, all features of a well-written text, and all too often omitted.
Still, four stars, not five. Why? Had I bought the book when it was published in 2005, rather than in January of 2007, I might well have given five stars, but writing about current programming techniques, especially when referring to other programs -- essential in teaching AppleScript -- is aiming at a moving target, and as the author indicated would happen, the target had moved on. An example in Chapter 11 using iDVD that a 2005 reviewer praised doesn't work on the newer version of iDVD on my computer, and the gap was too big for me to bridge. Kochan warned that two web-service examples in Chapter 13 might not remain available, and one of them is gone now. Despite these glitches, both Chapter 11 and Chapter 13 are well worth reading and studying, but each has lost a useful example.
The book was unable to teach me the crontab feature in Chapter 13. I have not figured out whether a misprint, something outdated, or my own incompetence is responsible.
The publisher, Wiley, provides an errata list for the textbook on line and provides a place there to post questions; however, the site is also dated and did not help me. Most of the errata listed there came from me.
A principal purpose of AppleScript is to enable users to make more efficient use of other programs, such as Adobe PhotoShop and Apple iTunes, to name just two. This cannot be done in an elementary textbook, and Kochan illustrates what might be attempted without pretending to teach you to do it. On page 556 he cites "AppleScript, the Definitive Guide," by Matt Neuburg, saying: "This book explains many of the intricacies of the AppleScript language and is the recommended follow-up to the book you hold in your hands." I plan to find out. Neuburg's book, incidentally, wasn't suited to introduce me to AppleScript when I attempted to read it first.
The bits of outdated material listed above should not discourage you from buying and profiting from "Beginning AppleScript." I do not know a better place to start. |