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


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to