Describing LiveCode

Richmond richmondmathewson at gmail.com
Wed Aug 12 03:23:35 EDT 2015


I have just had an e-mail from the Mothership that says this:

"I want to improve your business, your cash flow, and your development work.

"To do this, we launched a new Business Application Framework. This 
framework brings object-oriented programming to LiveCode,
is compatible with GIT and other version management systems, and allows 
you to do your LiveCoding work in teams.
Go ahead, do a happy dance."

[well, I don't know about a 'happy dance', possibly a *confused twitch* 
might be nearer the mark]

It certainly sounds interesting; but exciting, um, not so sure.

Now, even I know that LiveCode is what is called *Object-based*.

Quite apart from the fact that in my crystal ball I can see an upswell 
of protest from people who expect everything for free and forget that
Kevin probably likes cheese in his fridge as much as everybody else 
except a few vegans, I am wondering what the *BAF* will actually entail.

Wacky-pedia says this:

"The term "object-based language" may be used in a technical sense to 
describe any programming language that uses the idea of encapsulating 
state and operations inside "objects". Object-based languages need not 
support *inheritance* or *subtyping*, but those that do are also said to 
be "object-oriented"."

[my bolding]

and it is very easy to see how the first sentence in that quote is 
applicable to LiveCode.

"code written to operate on elements of the *supertype* can also operate 
on elements of the *subtype*"

[my bolding]

does that mean that if I write in a cardScript:

on openCard
   set the backGroundColor of me to red
end openCard

all the objects on the card will end up going red?

or is that an example of *inheritance*?

And why do I have a feeling that LiveCode already exhibits some elements 
of inheritance?

Now I know I live and work in a small bubble in a small town in a small 
country at the bottom of the Treacle Well, but
that e-mail leaves more questions both unasked and unanswered than 
anything else.

Here's one that immediately springs to mind:

1. If LiveCode 8 is introducing a new language, and this BAF is 
introducing a new language (or features that could make
the LC language mutate into something else), what will constitute the LC 
language in a few years time:
the whole jingbang of 2 and a half languages, of 'just' the core LC 
language?

1.1. If one is to teach LiveCode should one restrict oneself to the core 
language or should one consider getting one's head
(and bank account) around the other ones and teaching those as well?

Err . . . and as you can see from my "one" question, questions seem to 
generate more questions willy-nilly.

Now let's suppose (chance would be a fine thing) that I suddenly have 
pots of moolah to invest in the BAF.

First of all I would want some explanation and demonstration that goes a 
hell of a lot further than that mailshot.

Richmond.



More information about the use-livecode mailing list