On 05/18/2017 10:57 AM, Mark Waddingham via use-livecode wrote:
On 2017-05-18 18:18, Mark Wieder via use-livecode wrote:
That's unfortunate. It means that, aside from distributing the widget
source code, compiled widgets are bound to a specific LC version with
no guarantee that they will work with any other past or future
version. Does 'major version' here mean 9.x or 9.0.x? Can I assume
that the binary format will stay the same across all LC9.x releases?

I'm not sure it as much of a problem as it first appears to be - because
much the same is true of LiveCode Script.

If you write a script in 9 which uses features of 9, it will not work in
any version less than 9.

Yes, but that's comparing two different things. I'm concerned about the differing binary formats, not the source compatibility. I'm stuck if I want to distribute an easy-to-use extension (widget or library) for others to use. My alternative is to distribute the source and say "here you go... compile and install it yourself. And remember to do that again when the next major version of LC comes out or it won't work any more."

The point is the whole problem can be sufficiently solved quite well
with better tooling (which we are aware we need to work on); and in the
future can be solved completely using a little bit of cleverness and
exploiting the way LCB has been implemented.

Cool. That sounds promising.


I have to say I'm surprised that we're still at this state of things
so far after the fanfare introduction of extensions.

It is important to remember that LCB has only been in development (on
and off) for about 2 1/2 years at this point. Rust has taken over 7 to
get to source-compatibiliy stage (IIRC), and Swift broke source
compatibility at least twice I think since its launch - so I don't think
we are doing too badly (particularly when you compare the size of
Mozilla, Apple and us... I'll leave you guys to do the math there).

I *don't* think we're doing badly in the realm of source-code compatibility. I never intended to imply that. Sorry if I gave that impression.

To be fair about your comparisons, Rust only reached 1.0.0 stage two years ago. My statement there was more about that fact that given all the hoopla that accompanied the announcement of LCB, extensions, and the Way Forward, the state of the resources and environment for extension development seems pretty fragile at this point.


And on a slightly tongue-in-cheek note: I'm surprised after 26 years,
the linux world has not solved its binary compatibility problem. Indeed,
they don't seem to care about it one bit - even though it causes huge
amounts of wasted effort for any organisation daring to consider
distributing *binary only* applications. God forbid! (Also, the further
you move away from glibc in the Linux stack, the worse things get in
terms of source compatibility too...) ;)

Heh. The nice thing about linux is there are so many to choose from...

--
 Mark Wieder
 ahsoftw...@gmail.com

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to