• 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
AppleScript alternatives [was: Re: AppleScript]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AppleScript alternatives [was: Re: AppleScript]


  • Subject: AppleScript alternatives [was: Re: AppleScript]
  • From: has <email@hidden>
  • Date: Sat, 8 Dec 2007 03:12:22 +0000

Paul Scott wrote:

Personally, I'd like
to see AppleScript replaced by ECMAScript with a DOM-like
AOM (Application Object Model) interface.

Actually, that's two completely independent requests: one to replace the AppleScript language, and one to replace the current Apple Event Object Model used by scriptable applications.


I'll discuss the second request in a separate post to follow this one; below are my thoughts on the first one.

-------

Request One - replacing the AppleScript language itself - won't happen as there are way too many users with existing AppleScript-based workflows that would throw an absolute fit if they suddenly had to rewrite all that code in a different language.


That said, Apple *could* - if they wished - include other OSA language components as part of OS X in order to provide users who don't care for AppleScript with full alternatives. Third-party developers are also free to create and distribute their own OSA language components independently of Apple, of course.


The main problem right now is there aren't any third-party OSA language components that work anything like as well as AppleScript, and no sign of Apple developing any of its own (not that I'd really trust them to get it right anyway, given their track record on other OSA technologies).

As to which languages would make good AppleScript alternatives, that's a tricky question:

- Python and Ruby would be obvious choices, given their excellent existing desktop support (large, highly active user communities; scads of libraries, documentation and tools) and current fashionable status. However, their standard C implementations completely suck for this kind of embedding use, creating some significant technical hurdles for anyone attempting to produce efficient, industrial-strength OSA versions of these languages.

Example: See my PyOSA component and its accompanying TODO/hand- wringing list for an idea of the challenges involved.


- I imagine Perl falls in the same boat as Python and Ruby regarding the technical challenges involved, and, given the Perl community's perpetual inability to get it together on Perl 6, it isn't exactly the most fashionable of languages these days.



- JavaScript would be a much easier language to OSA-ify, since it was designed from the get-go for embedded use. Its main disadvantage is that it has basically zero desktop presence at the moment, meaning that while it has tons of community knowledge, literature and libraries related to web programming, you'll be hard pushed to find anything at all to help with desktop-related tasks. That leaves it with few unique selling points over the current incumbent, AppleScript, which completely sucks for libraries, period, but does at least provide some community knowledge and literature regarding desktop use.


Example: See Late Night Software's JavaScriptOSA component, which makes a fair stab at the problem, although it isn't without some design faults and has never really caught on amongst Mac users for various reasons.


- F-Script, Lua and Io may or may not be good technical choices, although I think they're specifically designed for embedded use in which case they may be quite easy to OSA-ify. The disadvantage is that at the moment they aren't nearly as popular as Python and Ruby, so again you don't have the large existing user communities, plentiful libraries, etc. to help sell them. Still, they're all relatively young at the moment and still growing, so who knows where they'll be in a few years' time?



- As for commercial languages like Revolution and REALbasic, I really don't know if they'd make good OSA components or not. (Though I believe the RunRev folks are just down the road from us if they ever fancy a consult...:) Can't tell without knowing more about their implementations. Also, the fact that these languages have to be paid for is bound to deter a some folks from using them, which may or may not leave a sizeable enough audience to justify the commercial investment.


Example: hmm... Frontier's the only one I can think of here, being the granddaddy of them all. Bit before my time, however, so not familiar with all the details myself.

-------

Maybe Matt/Philip/Jon/anyone else intimately familiar with the mysterious inner workings of the OSA system could add some thoughts here. I can also discuss my own experiences in writing PyOSA if anyone wants to hear them, although I'd recommend taking it to AppleScript- implementors as it's long, technical and not a little boring.:p

Regards,

has
--
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
  • Prev by Date: Re: Problem with Applescript and Spaces (virtual desktops not the character)
  • Next by Date: Apple Event Object Model alternatives [was: Re: AppleScript]
  • Previous by thread: Re: Problem with Applescript and Spaces (virtual desktops not the character)
  • Next by thread: Apple Event Object Model alternatives [was: Re: AppleScript]
  • Index(es):
    • Date
    • Thread