Online Book Reader

Home Category

AppleScript_ The Definitive Guide - Matt Neuburg [1]

By Root 1460 0
the whole, this book makes no attempt to treat this second aspect of AppleScript. This may be surprising to readers accustomed to some earlier books, but I believe it to be the right decision nonetheless. AppleScript as implemented by particular applications is a massive, encyclopedic subject. It would be easy to write an entire book of techniques, tricks, and tips for scripting just one major application. And the scope of any attempt to do this for every scriptable application would be open-ended, because it is impossible to know what scriptable applications the reader has or might acquire, and because new applications, any of which might be scriptable, are being developed all the time. Also, such treatment is largely unnecessary. Every scriptable application includes a dictionary telling the user about how it extends the language; the user can employ this, together with trial and error, and possibly examples from documentation and the Internet, to obtain pretty fair mastery over the art of scripting that application. There might even be books on the exact subject the reader is interested in. It is far better that the reader should consult a book entirely devoted to scripting, say, Adobe Illustrator than that the present book should attempt to compress a treatment of the same material into some reduced and undoubtedly inadequate form (Appendix C lists a few such books).

My choice, therefore, is between concisely teaching the reader to fish and giving the reader a large pile of possibly quite unnecessary fish. Readers who know anything of my work (or anything about fish) will know instantly which choice I would make. Rather than trying to encompass the details of scripting every application, my approach in this book has been to explain AppleScript itself, explicating the technology, documenting the language, describing how a dictionary works and what a user can and can't learn from it, and providing supplementary examples from across the range of applications that I actually use, so that the reader will be mentally equipped and educated and able to study and experiment independently with scripting any application.

Besides, books about the first aspect of AppleScript—about AppleScript itself—have been surprisingly few and far between. It is here that the need exists. The fact is that I have never seen the AppleScript language taught, explained, and documented in what I would regard as a clear, rigorous, and helpful way. Considering how long AppleScript has been around, it is hard to explain this lack. It may have partly to do with the absence of any clear and full explanation from Apple itself. After all, Apple wrote AppleScript, and only the folks at Apple have access to AppleScript's inner workings. Yet the only Apple manual of AppleScript, the AppleScript Language Guide, generally lacks explanatory depth.

There is a kind of unspoken myth—we may call it the "ease of use" myth—that tries to give the impression that AppleScript is so easy and intuitive that it doesn't really need explanation. Apple possibly didn't want users to see AppleScript as a full-fledged programming language, with all the precision, complexity, and sophistication that this entails, because that would be something that users would have to learn, exercising those parts of their brain to which a Macintosh, with its windows and icons and colorful buttons, isn't supposed to appeal. Instead, AppleScript is supposed to be so simple, so thin, so easy, so English-like, so intuitive, that there is hardly anything to learn in the first place; just pick up an application and its dictionary and presto, you're ready to script it.

Nothing could be further from the truth. First you must learn the language; only then will a dictionary make sense and be useful. AppleScript is not a mere veneer, an intuitive and obvious "glue" for hooking together the terms from an application's dictionary into sentences that will script that application as the user desires. On the contrary, it's a real programming language—a really interesting, fairly complicated, sometimes sophisticated,

Return Main Page Previous Page Next Page

®Online Book Reader