What is "Open Language"?
Richard Gaskin
ambassador at fourthworld.com
Tue Oct 27 13:23:06 EDT 2015
Mark Waddingham wrote:
> On 2015-10-24 21:12, Richard Gaskin wrote:
>
>> My favorite example is the "export snapshot" command - even with the
>> Dictionary guidance we all need to turn to for that no matter how
>> many times we've used it, it's so complex with such a combinatorial
>> explosion of options that I defy anyone to make a readable BNF for
>> it. :)
>
> The 'export snapshot' command is rather unfortunate. It was augmented
> by me to add the ability to snapshot an object directly (rather than
> the screen) and because (to be blunt) the actual code for the syntax
> of the export command was always a complete 'botched' job I did the
> best that I was able to do.
We disagree here only in that I think you did a fine job there, as was
done with adding the "at" sizing options.
One thing most of us have in common here is that we need to ship
applications. Very few of us (zero?) are responsible for drafting BNFs.
Warts and all, LiveCode lets us get the job done with remarkable ease.
Sure, we need to look things up now and then, but who doesn't? There's
more to C than its 27 keywords. Few enjoy programming who don't enjoy
learning.
The R-style syntax I enjoy in that language solves one aspect of the
problem, but only by fundamentally changing the flavor of our language
if we were to use it here.
In OOP we could make snapshots a class, so the values specifying them
could be expressed as name-value pairs through instance variables - but
who wants to use a language where you need to instantiate a math class
just to add two numbers? :) OOP is fine where OOP is fine, but OOP
isn't xTalk.
In LC, we see increasing use of arrays for name-value pairs (e.g.
clipboardData, etc.), and if it were important for someone to simplify
some aspects of making snapshots they could easily craft a handler that
takes an array to do that in just a couple minutes.
So maybe I'm too easy to please, but I think the current syntax for
snapshots is OK.
Sure, it's imperfect, but we live in a world defined by limitations in
which all things are imperfect. And besides, you could add another 10
options to that command and it'd still be cleaner syntax than
SuperCard's QuickTime commands, and less nails-on-a-chalkboard than even
simpler things from the olden days like "playLoudness". :)
> Indeed, I'd defy anyone to make truly accurate BNF for *any* of the
> language's current syntax - this is actually a tremendous problem
> which limits a great deal.
Back in the day Brian Molyneaux of Heizer Software noted the same thing
about xTalks. Just too loosey-goosey for that sort of thing.
Fortunately, my job is to make software, not BNFs, and LiveCode lets me
do that.
--
Richard Gaskin
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web
____________________________________________________________________
Ambassador at FourthWorld.com http://www.FourthWorld.com
More information about the use-livecode
mailing list