Re: Back to Adoption Barriers (was Re: Applescript Studio announced today!)
Re: Back to Adoption Barriers (was Re: Applescript Studio announced today!)
- Subject: Re: Back to Adoption Barriers (was Re: Applescript Studio announced today!)
- From: Helmut Fuchs <email@hidden>
- Date: Thu, 27 Sep 2001 22:00:30 +0200
At 10:49 Uhr -0700 27.09.2001, Paul Berkowitz wrote:
Except I didn't write that, Helmut Fuchs did. He was contradicting something
I had written previously.
I'm NOT contradicting YOU, I simply have a different opinion on the
whole subject ;-)
I really think that what Michael Sullivan wrote makes a lot of sense
(when you ignore shaky handling of citing techniques).
But I still disagree to the notion that ASLG is a good documentation.
It's a good starting point, but not a good reference. Try to find a
few things in there, simple examples of what I mean follow. Note down
the time it took you to find the information:
1. In what direction does AppleScript evaluate expressions?
2. Does AppleScript do lazy evaluation on boolean expressions?
3. Can I have references to local variables?
4. What actually is "a reference to" and how does it work?
I admit that I can quickly check 1, 2 and 3 by writing a test script.
But still I only know for sure that my test case worked - nothing
more.
Items 3 and 4 on the list have lead to really long threads on this
list already. And if ASLG is not updated in the near future they will
come alive again and again and again...
Sorry to bore you all and to waste your time, but this "trial and
error"-approach that I (all of us?) have to take annoys me so much
and has used up so much of my time, that by now I take it personal...
but I promise not to write in on this subject any more. Really. At
least not for the next three months ;-)
Best regards,
Helmut
P.S. In case somebody doesn't know what significance "lazy evaluation" has:
It simply means that AppleScript stops to work on a calculation, when
the outcome of it is already clear. Even if there's still unprocessed
data.
As AppleScript IS lazy evaluating boolean expressions (and does this
from left to right AFAIK) you can excecute the following with no
error:
true or 1/01
--> true
To make an "or"-expression true, it is sufficient that one of the
arguments is true. Which is obviously given here. The same goes for
"and"-expressions, where evaluation stops when the first argument is
false.
One use of this is to make your boolean statements more efficient.
The conditions that can be quickly checked should be at the
beginning, the ones that take time at the end.