richmond62 wrote: ↑Fri Dec 18, 2020 3:01 pm
Is there a way that
LiveCode can open (old)
SuperCard stacks
in any sort of meaningful way?
Directly, no. But both languages allow complete introspection, so it's possible to output SC projects to an intermediary descriptive format, and have an interpreter in LC which reads that format to reconstruct it.
LiveCode Ltd used to offer one way back when they were RunRev Ltd; I wrote one for a project I did around the turn of the century; Ken Ray had a more comprehensive one, possibly the best.
In those days a good chunk of my work was porting SC stuff to LC. I've done it enough to feel very strongly that it isn't worth it. In fact, it's rarely worth direct porting between any two systems with different object models.
SC and LC are close enough that it's seductively attractive to consider one-to-one object recreation. But if you're sufficiently familiar with the strengths and weaknesses of each, it becomes clear that how we structure good SC projects is quite different from how we structure good LC projects.
Menus, groups, windows, and other fundamentals are handled with both different properties and different syntax. Faithfully reproducing an excellent SC work in LC results in a poor LC structure.
My advice for clients is to use the moment when porting seems useful as a prompt to consider a more complete upgrade. Anything that needs porting is by its nature legacy, and likely overdue for refactoring and UI updating anyway.
In addition to porting from SC, I've also ported from HC, FileMaker, Visual Basic, and a few others. All cases have ultimately reinforced my opinion:
Given the amount of rework required when doing a port between any two systems, I find the work is more productive when done freshly, with a fresh product focus, by creating a new work that isn't ported from the old one as much as merely inspired by it.