Re: Nice Automator article on O'Reilly
Re: Nice Automator article on O'Reilly
- Subject: Re: Nice Automator article on O'Reilly
- From: has <email@hidden>
- Date: Sat, 7 May 2005 01:04:17 +0100
David Marshall wrote:
> > AppleScript [...] makes programming look EASY.
>
>I'd like to weigh in with the Permanent Dilettante's perspective here,
>since I think an unusually high percentage of AppleScript scripters may
>fall into this category.
(I should probably say I'm in the "advanced dilettante" category myself, having started my "occasional dilettante" career in AppleScript like a lot of folk here, before becoming more ambitious and ultimately moving into other languages as I started hitting AppleScript's limits. So I've known AppleScript from both sides of the divide, as it were.:)
>We're folks who are (hopefully) intelligent,
>analytical, and drawn to the compact expression of logic that
>programming as a whole embodies; but we lack the background, time,
>and/or passion to master the _implementation_ of programs written in
>"full-fledged" programming languages.
'"Full-fledged" programming languages' is a bit of a canard IMO. For example, Smalltalk certainly falls into the 'full-fledged' category, yet was designed to be simple enough that children could use it. In practice, it was only successful to the point that _smart_ kids could use it; still, folks here ought to manage at least "smart kid" level <ducks>, so anyone capable of learning AppleScript ought to be able to learn Smalltalk instead. (Whether it's possible to learn anything else after AppleScript's had its way with you is another question...;)
>But my eyes began to glaze over at the notion of header files, linking, compiling, etc.
Urrr... join the club. But none of that stuff is really "programming"; it's all low-grade housekeeping, doing things for the computer that the computer really ought to be doing for you. Higher-level languages save you from all that nonsense, of course.
>(It cracks me up to read that Objective-C is a "simple" language.)
There are two definitions of "simple": simple for the computer (in that the language is small and doesn't do much for you) and simple for the user (the language goes out of its way to make your life as simple and easy as possible). You can guess which one ObjC is. ;)
>In AppleScript, I can do just that: write a routine, compile it, and
>debug it, all between dinner and bed time. I can do this because the
>language is so limited in scope, and because the editor, compiler,
>debugger and runner are conveniently provided in an IDW (Integrated
>Development Window).
One can say the same of many other languages, from /bin/sh to Smalltalk. There's quite a few high-level languages that give you this level of comfort with minimum fuss and bloat. (Even a lot of traditional developers are moving away from low-level languages like C because they realise the productivity benefits of using the highest-level language they can.) The various unix-derived scripting languages - /bin/sh, Python, Ruby, Tcl, etc. - can all be edited and run in a standard Mac text editor like TextWrangler, and require no separate compile-link-blah-blah either. No debugger, but simple 'print' statements are good enough 99% of the time anyway.
>It's not the "English-likeness" that makes AppleScript friendly, AFAIC;
>it's the "Limited-Paletteness."
Well, I'd argue that any language that needs a debugger, as you mention above, is already failing in the 'friendly' stakes: standard debuggers are amongst the most unfriendly bits of kit there are. :p
The 'limited paletteness' is an interesting one, in that the AppleScript language itself isn't particularly small (Smalltalk is much smaller); about the same size as JavaScript. There's also a greater amount of unnecessary cruft in AppleScript, and fewer important basic features (e.g. string manipulation, associative arrays). It doesn't come with a big standard library which probably makes it look less intimidating, but the thing about libraries is you can completely ignore them till you actually need them - and when you do you'll be damn glad they're there. You can even take a language like Python or Ruby and just learn the basics - ignore the deeper stuff completely - and be very productive in those (though personally I'd prefer to see a genuinely cut-down 'starter' version of such languages that hides the deep stuff completely).
I think your answer's more about the advantages of very high-level languages over low-level ones (no argument there); whereas my question's really about the differences between one VHLL (AppleScript) and other VHLLs. Language level being the same, I'd be interested how you think things compare there.
Cheers,
has
--
http://freespace.virgin.net/hamish.sanderson/
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Applescript-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden