Chained Behaviors
Richard Gaskin
ambassador at fourthworld.com
Fri Jul 12 15:36:32 EDT 2013
John Dixon wrote:
> Richard...
>
> I hear what you say, but does an xTalk language need to go down this
> road ?... or to perhaps put a direct way... Should an xTalk language
> be going down this road ?... What I am worried about is that there
> are a lot of people jumping on the 'open source' bandwagon... wanting
> to change things for what they see as improvement whilst completely
> forgetting that it is simplicity not complexity that has got xTalk
> where it is today...
Speaking only for myself, what distinguishes LiveCode from the legacy of
most earlier xTalks is its willingness to grow.
Associative arrays, touch UIs, sockets, "repeat for each", "is among",
and perhaps more than anyone would want me to enumerate here -- all
introduced to the xTalk world in MetaCard/Revolution/LiveCode.
And behaviors too.
But behaviors limited to a single level are almost a tease, as limited
as comparing HyperCard's backgrounds to LiveCode's groups.
True, HyperCard was easy to learn precisely because of these
limitations. Few things are as overwhelming as holding a paintbrush in
your hand facing a canvas with infinite bounds. HC put a relatively
small frame on the canvas it let us work with, and in its way those
limitations were indeed liberating.
But as we learn and grow over the years, our desires for what we want to
do with our software grow along with them. For all the fond memories we
have of HyperCard, I doubt few would find it satisfying to work with a
single monochrome window with few control types, no color, no vector
graphics, no arrays, etc.
I hear what you're saying about the risk of becoming too complex, and I
agree we should evaluate such proposed extensions very carefully.
But like arrays, nested behaviors are purely optional: those who don't
want them are free to never use them, while those who crave them at last
have them.
Extensions like these preserve the core flavor of the language, while
extending it in useful ways at the same time.
Key to this delicate balancing act is discretion, knowing when to say "no".
Having once had a disagreement with Mark Waddingham over a language
design issue, my respect for his good judgment in this regard was only
amplified by that momentary conflict.
In the end what I learned is that he's deeply passionate about
preserving the essence of xTalk, and as long as there's a mother ship
playing the role of arbiter of such decisions, I feel we can relax with
the confidence that we're in good hands.
--
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