LC 8 Property Inspector

Mark Waddingham mark at livecode.com
Wed Oct 14 04:14:07 EDT 2015


On 2015-10-13 17:35, Richard Gaskin wrote:
> It's possible to invest our time enumerating reasons why people
> shouldn't enjoy crafting tools in LiveCode, but to what end?
> 
> Any IDE (or IDE "tool" or "framework" or any other subset) is just a
> collections of stacks. The one thing we know about LiveCode
> programmers is that they know how to program in LiveCode.  Many of
> them are quite good at it.

This is where I have to disagree - an 'IDE' is *not* 'just' a collection 
of stacks. Those stacks have to work together in a consistent way, agree 
on certain conventions, protocols and 'how things should generally fit 
together'. It is a 'framework' which does this (even if it is one which 
contains no code, and just a long list of 'do's' and 'don't's).

> I see no harm in encouraging people to just continue doing what
> they've been enjoying for decades:  making tools to help their work
> and sharing them with others.

Indeed - there is no harm at all - it is actually quite important. I 
wasn't implying that it shouldn't be encouraged...

> All of the tools I've referred to - Mark Weider's, Bjornke's, Geoff's,
> Peter's, and others' - exist.  Why not have more?  Why not have a
> convenient launcher for them?

Great - how do you ensure that Mark's tools don't interfere with Geoff's 
so users can use them side-by-side?

If every toolmaker has to take into account every other toolmaker's 'way 
of doing things' you end up with a situation where one individual who 
wants to write a tool needs to learn about everybody else's if they want 
to distribute it for the benefit of all.

> Why not have an IDE for pro devs, another for kids, and other for
> educators, and others for just about anything people might want to do?

Again, let us not confuse 'IDE' with 'IDE Framework'.

> It's possible to imagine a perfect circle, but in the natural world
> none exists.  All systems are imperfect, influenced by subtle but
> pervasive forces that ultimately alter them from their ideal form.
> Anything that seems otherwise lives in the space between design specs
> and shipping. :)  Even the OSes we love are riddled with kludgey
> workarounds - not that we should pursue kludges, but it's no more
> useful to postpone everything until a perfect system exists.

Things are never perfect, it is true - but most people's daily lives are 
governed by rules, regulations and policies to ensure that everyone can 
co-exist (reasonably?) 'happily'. (Or at least function without huge 
amount of friction at every interaction).

My main assertion here is that I don't think 'the engine' in its current 
form provides a sufficiently strict set of such things for the purposes 
of interchangeable IDE Tool writing so there needs to be a concerted 
effort to build something on top of it which is.

> Ultimately you and I are describing the same goal, a modular and
> lightweight IDE system in which tools are plentiful and
> interchangeable, something Ken Ray and others have been advocating
> since the engine acquisition in 2003.

Indeed - advocacy and implementation are two entirely separate things 
though - which is perhaps why no such widespread 'lightweight IDE 
system' has appeared (to my knowledge at least).

> And there is one salient aspect: neither of us is describing an IDE
> that exists today.

I cannot agree there. You may be describing an IDE which does not exist 
today - some sort of mystical entity which will just appear naturally 
out of a lot of people playing around in a sandpit. Unfortunately, I 
don't have much confidence in chaos producing anything in any 
particularly useful timeframe (the mathematician in me screams that the 
numbers just don't add up in that regard).

On the other hand, I am describing an IDE (Framework) which is currently 
in the process of being built - we are working quite hard to try and 
separate out what tools in a LiveCode IDE need to function from what is 
specific to the tools themselves. As I've already said, we are trying to 
build APIs upon which any tool written by anyone could sit and still 
work together with any other tool written on the same APIs.

> All I'm offering here is encouragement for the things that led to this
> thread, an acknowledgement that some folks like the App Browser and
> others like the Project Browser and still others like Geoff Canyon's
> Navigator and others like their own.  And the same goes for object
> creation tools, and inspectors, and the rest.

What I'm offering here is more than encouragement - which means I hope 
that things might actually change :)

There are a number of people who are interested in creating IDE Tools - 
it is clear - indeed, many such tools already exist.

My offer to those who are interested in this are of things is simply 
this:

Take a look at what we are trying to do with the LC8+ IDE, dig around in 
the libraries we are creating. Play with moving your tools to those APIs 
which are gradually being chiselled out of the monolithic system which 
was there before, talk to us and help us improve and add to those APIs 
to ensure that over time all the services that any tool might need are 
there for them to use.

The aim is that, over time, we have a clean, thin, high-level API which 
everything else sits upon which tries to make no predetermination about 
any sort of part of an IDE, or the tools which sit within it. Indeed, I 
wouldn't discount the possibility that such an API could eventually be 
rendered in proper English-like syntax, embedded in the engine in some 
form to make it even easier for anyone to access and use.

Will this happen in the LC8.0 timeframe? No, I'm not expecting it to - 
I've become very patient with regards large scale technical projects 
these days ;)

However, LC8 will be better than LC7, and subsequent LC versions will be 
better still. The more people who get involved to help us reach the goal 
of a lightweight IDE Framework, the more quickly it will happen and the 
better it will be.

(By the way, I'm fully aware that for this approach to work we really 
need to start clearly documenting the IDE APIs we are building - I don't 
want people to start to get lots of bruises from wandering around in a 
dark room!)

> Let a thousand flowers bloom.

Indeed - a thousand flowers blooming can be a truly breathtaking sight.

However, it is much less amazing if those thousand flowers are dotted 
around the world individually, not being able to be brought together 
because they cannot co-exist within the same climate, or in the same 
soil.

Warmest Regards,

Mark.

-- 
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps




More information about the use-livecode mailing list