No other Applescript text could possibly be more thorough. This text includes 32 chapters, grouped into three sections, and spanning 850 pages. Rather than listing each chapter topic, it’s easier to simply say that the book covers everything. Within each chapter, the discussion of a topic starts simply, so that a beginner can follow along, but then goes progressively deeper, to an intermediate or advanced level. The typesetting is crisp and clear, and the binding is excellent; the book is a pleasure to hold and read. That’s the good news. The bad news is that I had two problems with the book that I think other readers will also experience.
The first problem is stylistic. Rosenthal writes scripts professionally, which does make him a programmer. But he is trained as a designer, not as a software engineer. The target audience is also designers who want to program, not engineers. This might sound like hair-splitting, but refrain from that judgment for a moment. Think back to your last Perl, PHP: hypertext preprocessor (PHP), or Java book: what if it had been written by a nonengineer, for a nonengineering audience? How much extra material would have been inserted, in order to explain concepts that could no longer be taken for granted? I’m a newcomer to Applescript, but as an experienced software engineer, I often found the pacing too slow, and had to skip ahead to stay interested. There were also times when I thought the examples and explanations were less than precise, definitely not on a par with my usual engineering reading.
My final problem with the book, though, is that, 850 pages later, I won’t use Applescript. Am I an anti-Mac bigot? No. On the contrary, I am a recent Mac OS X convert, won over by Panther’s beauty and reliability (an increasingly common story). I have been programming Unix for 20 years, and I see OS X as the finest expression of my favorite operating system. I love my Powerbook, and use it to earn a living writing code for Linux and Windows systems. It is the single most impressive computer I have used in 25 years. That positive view of OS X was the impetus for reading this book. But, in the end, why should I invest time in Applescript, which works only on Macs, when there are so many cross-platform alternatives? Yes, Applescript is more powerful than Perl on a Mac, but it is nonexistent everywhere else.
All of this brings us to the question of who should read this book. If you have little or no formal engineering background, and you want to write scripts only on a Mac platform, or if you are a dedicated Mac hobbyist, then this book would be an excellent choice for you. If, however, you are a trained software engineer, with cross-platform sensibilities, who just wants a taste of Applescript, you should probably look for a shorter text that will cover the core material more quickly.