• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: "a reference to"
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "a reference to"


  • Subject: Re: "a reference to"
  • From: has <email@hidden>
  • Date: Mon, 7 Jan 2008 18:44:04 +0000

On 7 Jan 2008, at 14:55, Jon Pugh wrote:

At 6:19 AM -0500 1/7/08, Mark J. Reed wrote:
It's the invisible "get" that gets you.

Technically, that's not AppleScript's fault per se, it's an application foible,

'Implicit gets' are entirely an AppleScript feature, and nothing to do with scriptable applications. The reason for their inclusion is that they make AppleScript "easier" to use, at least in the most common use cases. However, they are as much a menace as a benefit in the long run, since:


1. AppleScript does not apply implicit gets in the less common use cases, and:

2. their invisible nature means that users cannot obviously see - and thereby understand - why their code fails in some cases, because their experience of the common-case behaviour has given them a faulty understanding of how AppleScript and Apple event IPC actually work.


This is the basic problem with lying to users, even with the best of intentions. Sooner or later, those lies _will_ catch them out, leaving them in a worse position than if they'd been given the truth to begin with. Not only do they need to learn how the language actually works, they have to:


1. throw away their existing, faulty knowledge first - something that's often difficult for people to do [1]; and:

2. acquire this new knowledge _despite_ the language's concerted attempts to mislead them at every turn.


Sure, learning the honest, if slightly ugly, truth requires a bit more up-front work, but at least once that's done things are straightforward thereafter with no nasty hidden traps to spring up later on and catch out the unwary. It's just a question of trading a little short-term pain for a long-term gain, rather than the ultimately false economy of the current arrangement where a little short-term gain is had at the cost of a long-term pain.


...

Unfortunately, I don't think the AppleScript engineers - blessed as they are with their extensive inside knowledge of AppleScript et-al - have any idea just how difficult it is for end users to form an accurate and robust understanding of these technologies [2]. If anything, their current thinking seems to be that the solution to the current problem is to slap more fibs and obfuscations on top of it, presumably in the belief that this will eventually make it completely unnecessary for users to know anything about the actual mechanics involved.

However, while it's true that the late, great computer scientist David Wheeler did indeed once state that:

"Any problem in computer science can be solved with another layer of indirection."

it might be wise to not to overlook his immediate "But that usually will create another problem" rejoinder to this line.

Or, as another wise old engineer once put it:

"The more they overthink the plumbing, the easier it is to stop up the drain."


has

[1] Humans have a tendency to cling tightly to their established knowledge, resisting any change even if and after that knowledge has been demonstrated to be wrong. Hardly a characteristic that an ostensibly pedagogical platform should actively invite, IMNHO.

[2] Hint: "Massive pain in the arse".
--
http://appscript.sourceforge.net
http://rb-appscript.rubyforge.org

_______________________________________________
Do not post admin requests to the list. They will be ignored.
AppleScript-Users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
Archives: http://lists.apple.com/archives/applescript-users

This email sent to email@hidden
  • Follow-Ups:
    • Re: "a reference to"
      • From: Chris Page <email@hidden>
References: 
 >"a reference to" (From: Michelle Steiner <email@hidden>)
 >Re: "a reference to" (From: "Mark J. Reed" <email@hidden>)
 >Re: "a reference to" (From: Jon Pugh <email@hidden>)

  • Prev by Date: Re: How to select "Copy" from an Application's Edit Menu
  • Next by Date: Finderscript works on 10.5, but not on 10.4?
  • Previous by thread: Re: "a reference to"
  • Next by thread: Re: "a reference to"
  • Index(es):
    • Date
    • Thread