Most Helpful Customer Reviews
|
|
189 of 193 people found the following review helpful:
5.0 out of 5 stars
At last, the truth about AppleScript, December 11, 2003
Apple has long pushed AppleScript as an easy-to-learn, English-like way of automating repetitive tasks on a Mac. Alas, I and many, many others have discovered from painful experience that AppleScript is hugely difficult to approach -- its learning curve never seems to flatten out. Even after writing thousands of lines of code in several programs that (eventually) worked, I still feel I'm groping in the dark every time I try something new. I've read other books on AppleScript, looking for one that would open the magic door and reveal the simple, friendly AppleScript that's supposed to exist.Matt Neuburg has given us the first AppleScript book that tells the deep truth: AppleScript is a quirky, inconsistent programming language that is not only hard to learn, but hard to learn for fundamental, structural reasons. Neuburg exposes the unavoidable difficulties that are built into AppleScript's design, and then shows us practical techniques for accomodating to them and using them. Anyone who reads this book carefully will be able to apply AppleScript with greater understanding and less wasted time, and be able to use it with far less of the disappointment, frustration, and even rage felt by all too many people who collide unprepared with AppleScript's tricks and traps. Since there's no "look inside the book" feature, let me summarize the main sections. Part I explores AppleScript in a system context: what it is meant to do; how it is used (with an intro to the Script Editor); and what its basic concepts are. (Contra another reviewer, this 90pp part contains nothing about history; it's all current and relevant stuff, needed later in the book.) Central to Part I is Chapter 3, "The AppleScript Experience," which describes the actual process of building a program. This chapter so perfectly reflected the confusions, frustrations, and dead-ends that I've experienced with AppleScript that I was sold: this guy really understands the problems! He doesn't minimize them or blame them on me. Maybe he can show me ways to work around them, but whether he does or not, at least he'd validated them. Part II, 200pp, is a detailed and insightful exposition of the AppleScript language. Early in this part is a discussion of "The 'English-Likeness' Monster," showing how the attempt to be friendly distorts the language and confuses users. Then Neuburg examines every detail of AppleScript's syntax and semantics. He doesn't do this like a typical "tech writer," rephrasing the official documentation. He has taken the time to write code to test out every corner case and exception of the language, and he lays them all bare. He looks into AppleScript's baroque scoping rules and its inconsistent rules for implicit coercion of types. All of Part II is meat and drink to a fan of programming languages, and I read it through like a good novel. More to the point, it's a deep and thorough job of documenting the actuality of AppleScript: what syntax works, what the tricks and traps are, and what to avoid. Part III tries to extend the same thorough methods to the process of creating applications in AppleScript, beginning with application dictionaries. Here Neuburg, like every other AppleScript user, bangs hard into the basic structural flaw of AppleScript: that all the interesting semantics and no small part of the syntax are implemented in other applications, not in AppleScript. Everything you want to actually accomplish with AppleScript, you do by sending messages to other programs -- the Finder, TextEdit, BBEdit, Mail, and so forth. The only documentation you have is each app's dictionary, and it can never be adequate. Chapter 19, "Dictionaries," contains a long editorial on "Inadequacies of the Dictionary" that details all the reasons that an app's dictionary can never tell you enough to use the app. Some of the reasons are structural (there's just no way to express the needed information) and some are due to human failure (the people who write dictionaries do a clumsy, inconsistent, and sometimes erroneous job). Neuburg can't fix these issues, but he does his best to prepare you to work around them. Nevertheless, as he says in another context, "AppleScript programming is often indistinguishable from guessing." To sum up: this book is a deep, thorough exploration of all the quirks, dusty corners, and skeleton-filled closets of AppleScript. Reading it will make you far better prepared to use AppleScript productively.
Help other customers find the most helpful reviews
Was this review helpful to you?
|
|
|
|
|
|
105 of 108 people found the following review helpful:
3.0 out of 5 stars
It is the best of books, it is the worst of books., February 4, 2004
Sorry, Mr. Dickens, I just had to.First, the bad parts. If you are a beginner to AppleScript (particularly if you've had little programming or scripting experience), DO NOT even think about looking at this book. It will be so confusing and discouraging, you'll leave angry. There are plenty of books that show you how to do simple things easily with AppleScript. They may be deluding you into thinking that it will be simple to use AppleScript for more complex tasks, but at least, you'll be getting hands-on learning in the meantime. No book can be truly suitable for beginners AND experts and I never believed that claim about this book. Sorry, beginners, this book is STRICTLY for intermediate to advanced users. Having said that, I can begin to shower praise upon this masterpiece. As someone who has done some AppleScripting and have been through a lot of frustration doing anything beyond cookie-cutter work, Chapter 3 boosted my self-esteem about 10 notches! That chapter details Matt Neuberg's odyssey through the labyrinthine task of scripting FrameMaker. Been there, done that (in other apps)! So, I'm not such an idiot -- some of these object models aren't crystal clear. I had always thought that AppleScript was the underrated, undersold and underused secret weapon that the Mac platform could wield over the competitors, especially the dreaded Windows! After using it and then having my suspicions confirmed by this book, I realize that despite all its power, AppleScript has failed in its mission of being the intuitively obvious, easy-to-use, simple, everyday, plain English, "scripting/programming-for-the-rest-of-us" tool it apparently was developed to be. The good news is that if you are the true target audience for this book, you will be able to help out ordinary Mac users for fun and profit. I believe there is a definite line dividing the people who must have and will love this book from those who should avoid it like the plague (until they get some AS experience elsewhere). I hope this helps you decide.
Help other customers find the most helpful reviews
Was this review helpful to you?
|
|
|
|
|
|
38 of 41 people found the following review helpful:
5.0 out of 5 stars
Mac Guild Review, January 29, 2004
By A Customer
AppleScript The Definitive GuideWhat the Book is About This book aims to provide a complete explanatory manual and reference to AppleScript, up to date with Mac OS X 10.3 (Panther). Target Audience The introduction states that the book assumes no prior knowledge of AppleScript or of any other programming language. While I agree that no knowledge of AppleScript is required, it's challenging to consider someone with no programming knowledge starting out with this book to use AppleScript as their first programming language. For experienced Applescript users, the book is likely to be an essential reference. What NOT to Expect Perhaps like many others who had not used AppleScript, I believed it was a simple, English-like language that was very easy to use. I jumped eagerly in at the first chapter, certain that I would soon be told go sit at my Mac and type my first 'Hello World' AppleScript into some application or other. As I read and read chapter after chapter from the sofa, I realized it was not going to be quite so simple in either case. AppleScript, according to the author, has come close to extinction in the past, but is now entering a 'golden age'; it is a technical innovation and a labor saving device for the ordinary Mac user, yet it's not true to say that it's an intuitive language needing no real explanation. What to Expect In reading this book, the author's (Matt Neuburg) expertise in AppleScript becomes immediately apparent. So too does his extremely erudite writing style. For example, when I got to the list of 'apothegms' and discovered that this synonym for 'saying' or 'maxim' was dictionary.com's word of the week on June the 9th, 2000, I naturally began to wonder whether he read dictionary.com every week for fun. As it transpires, the author has degrees in ancient Greek and Classical Philology and had a career as an academic classicist before starting a new career in computing. He thinks computer languages are relatively easy. (See http://www.tidbits.com/matt/). The trouble with AppleScript is that to use it you have to use it to script an application, each application has a different vocabulary stored in its dictionary, and dictionaries in general have no manuals of their own. If someone tried to write one book that said precisely how to script every application, it would need to contain a dictionary manual for each application, and would therefore be enormous. While there are books about AppleScript for single applications, Matt Neuburg quite simply wants to get you to see AppleScript through his eyes and learn to use it as he does, finding out what you need to know as you go along. Part 1 - AppleScript Overview starts by identifying when and why you would want to use AppleScript - for example whenever you get bored doing something very repetitive with your computer. Also discussed in this part of the book are the different environments for creating AppleScripts and some of the important concepts and principles. The singular feature of this section is that it contains a complete worked example of how to create an AppleScript to do a repetitive document management task. The example uses Framemaker; this has the disadvantage that people who don't have Framemaker won't be able to try it out. The point is to illustrate that no prior knowledge of the Framemaker dictionary is required - you can figure it out for yourself if you know how to ask the application ! Part 2 - The AppleScript Language, is intended as both a reference and instruction. As the author says, 'the order of the exposition is pedagogical' - you are supposed to read the chapters in order. This section explains all the language features and illustrates pitfalls including those caused by forgetting AppleScript is not English. Part 3 - AppleScript in Action, is where, as the author puts it, having learned to use the sword in Part 2, you now go out and do battle. It covers dictionaries, scripting additions, working with applications both scriptable and unscriptable, working with UNIX and finally writing your own applications. Again in this section problems are foreseen and solutions provided. There are appendices on Apple's 'aeut' resource and general AppleScript resources such as websites. Highlights The depth of the coverage is amazing and the approach of teaching you how to learn for yourself is refreshing. If you are interested in linguistics as well as computer languages then this book is a delight. A language manual written by a linguist, it frequently compares and contrasts AppleScript to English and other computer languages. Mac Guild Grade A+ (Awesome) Final Words If you want to know everything there is to know about AppleScript, then this book is essential. If on the other hand you are looking for a very practical tutorial or cookbook, be warned that after reading all of this book, I still have not typed any 'Hello World' AppleScript into AppleScript Studio. Maybe I just don't do enough boring, repetitive tasks with my Mac.
Help other customers find the most helpful reviews
Was this review helpful to you?
|
|
|
|
|
|
Most Recent Customer Reviews
|