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