I’ve been avoiding this topic, but just can’t
resist:
1) I’d like to pile on with the “most applications’
dictionary / terminology / object model / documentation is a mess”,
but I realize that that wasn’t the original question.
2) Implicit object resolution. It can be
the case that
get font of character 3 of document 1
--> “Helvetica”
But
set thirdChar to get character 3 of document
1
get font of thirdChar
--> can’t get font of “v”
doesn’t. It’s obvious to me why this is, but
it certainly qualifies as something that make AppleScript difficult.
3) restrictions on whose clauses. The whose clause is
great, but you can only filter on properties.
select every folder where it’s name contains “.”
works, but
select every folder where it’s count items equals
0
doesn’t. If
tell myFolder
count items equals 0
--> false
name contains “.”
--> false
end
its hard to see why either form can’t used in a whose
clause. Yes, I know why. That’s not the point. As
an implementor, I have to imagine what sorts of verb clauses might be valuable
to sort on in a whose clause, and provide ersatz properties for them. Not
ideal.
4) enumerated value madness
It’s tricky to keep straight when some terminology can be
used as a class identifier, a property identifier, or an enumerated value.
In an app scripting implementation, it is tempting to want to use the same term
as all three, but usually you run into problems trying to do that, and so
dictionaries instead have less than ideal terms for enumerated values, which is
confusing and difficult.
5) Lack of good record and list manipulation. This
should probably be item number 1. ‘nuff said.
6) Script Editor keeps launching a different version of the
application than the one that is both already running and that is the one I
want to use. Again, I know how to work around this, but it sure is more
difficult.
7) Did I mention I’d like to pile on with the “most
applications’ dictionary / terminology / object model / documentation is
a mess”?
- Olof Hellman