the programming language business [was Re: [FoRK] Apple, Apple, Apple...]

Luis Villa luis.villa
Wed Dec 7 15:34:02 PST 2005


On 12/7/05, Kevin Elliott <k-elliott at wiu.edu> wrote:
> At 12:39 -0500  on  12/7/05, Luis Villa wrote:
> >To be fair, at the time AppleScript came on the scene there probably
> >wasn't a decent alternative. And it is totally possible that
> >Python/Ruby may have the same licensing issues that bite Apple on the
> >ass wrt Linux- I don't know how tightly applescript is tied into the
> >core  OS, so I'm not sure of the details there.
>
> In the interest of education...

Great, I was hoping someone would answer the implied question there.

> AppleScript is bound very loosely to
> the OS.  It's built on top of OSA (Open Scripting Architecture) which
> is a platform Apple created to allow multiple scripting language to
> coexist peacefully.
>
> <http://developer.apple.com/documentation/Carbon/Reference/Open_Scripti_Architecture/Open_Scripti_Architecture.pdf>
>
> Underneath OSA are AppleEvents which is basically a kind of
> interprocess communication layer apple created.  Their used by the OS
> to communicate a variety of standard messages (i.e. Quit, Open File,
> etc.) as well  as being expandable by individual applications (so an
> application can publish a list of events that in will perform on
> request).
>
> A number of OSA language bindings are available including Python:
> <http://aspn.activestate.com/ASPN/docs/ActivePython/2.4/python/mac/scripting.html>
>
> Speaking to AppleScripts longevity, I think it correctly serves a
> very specific niche better than any of the alternatives.  In
> particular, it's a popular language in publishing world for
> automating workflows between commercial applications.  In that spaces
> it's advantages are:
>
> 1) Very readable to a  neophyte.  A non-programmer can normally
> follow the general task that a script is doing even if he isn't very
> familiar with the the syntax.  Let me be VERY clear that I do NOT
> consider this a virtue of a general purpose programming language.
> But, for the market segment in question it is a virtue.

Absolutely. Useful for QA automation as well, where QA folks writing
automated tests may not have programming backgrounds. FWIW, we're
doing that in GNOME now with a simple/clean python API, but I can see
the appeal of a special-purpose language here.

> 2) A clean  mapping to the programming model OSA demands.  OSA apps
> cannot treat applications like libraries (because their not).  OSA
> was built to allow 3rd party applications to be cleanly scriptable
> without making to many demands about how that application architect
> itself.

This is now a requirement for any modern toolkit for a11y reasons.

> 3) Large code base.  In the defined space (scripting Mac
> applications), no other language has a larger  code base.  Inertia
> matters.

Eh. Apple's inertia is overall fairly tiny compared to the momentum
behind python, perl, or anything MS produces.

> For the record, I have no problem with apple providing and supporting
> other OSA binding as co-equals  to AppleScript.  However, I think the
> idea that Apple out to throw out AppleScript in favor of Python (or
> anything else) is  stupid and ignores why AppleScript was created and
> what it's advantages are.

Can't disagree, given the background here, and what I assume is a
fairly low maintenance cost at this point (they aren't doing much
active development of it right now, are they?)

Luis



More information about the FoRK mailing list