"this me"?
Richard Gaskin
ambassador at fourthworld.com
Thu Aug 8 10:01:48 EDT 2013
Timothy Bleiler wrote:
> This is an interesting discussion. For my 2 cents worth, I'm
> currently in favor of 'the effective behavior of me' but I'm
> curious why it's needed.
FWIW I find myself leaning toward "scriptObject" because it's the least
like anything else in the language, and needing this is a very unusual
circumstance, as you note.
I think sometimes we risk usability with the "English-like" mandate,
entertaining strings that may be readable in terms of natural language
but at the cost of skimmability.
Code is often only read once, at the time it's written. Beyond that,
it's far more frequently skimmed, scanning blocks for tokens that help
us hone in on the source of a problem, or the point where we need to add
an enhancement.
"scriptObject" stands out visually, and is easy to type. Extra bonus
points that this is a relatively rare need so having a truly distinctive
token doesn't hurt.
English is designed (if we can even use that word for the historical
accident that is our language) to be used by humans; computers are
entities too stupid to count past 1. English is chock full o'
ambiguities, requiring uniquely human intelligence to parse the context
to derive the meaning (consider gerunds, for example), and attempting
that too much risks a lot of processing time and even cognitive load
(lots of typing, and remembering exactly what form of "English-like"
phrase is needed), for minimal benefit.
Array syntax is my favorite example here: clear and concise, arrays
bear no resemblance to anything in English, while they have a lot in
common with other, lower-level, computer languages. I see that as a
feature, not a bug, because computer languages serve a very different
set of goals than human languages.
I'm not advocating we take that to the extreme; I've learned my lesson
about dot notation <g>. I'm merely suggesting we strive for a balance,
recognizing up front that any computer language will never be truly
English-like, and that sometimes we have an opportunity for greater
usability with both writing and skimming when we aim for what works
simply over what we might imagine is "English-like".
Having made that plea for simplicity in programming, please allow me to
complicate this now: :)
Taking the idea of scriptObject further, for the
rarer-but-not-unthinkable need to know all of the objects in an object's
message path, might we consider extending this further to include:
the effective scriptObjects of <objDescriptor>
...which would return a return-delimited list of all objects in the
message path of <objDescriptor>?
--
Richard Gaskin
Fourth World
LiveCode training and consulting: http://www.fourthworld.com
Webzine for LiveCode developers: http://www.LiveCodeJournal.com
Follow me on Twitter: http://twitter.com/FourthWorldSys
More information about the use-livecode
mailing list