Author wrote: ↑Mon May 18, 2020 6:58 am
I am thinking of migrating from SuperCard to LiveCode.
Welcome.
1. Is LiveCode a 64 bit application and environment on the MacOS? Will the IDE and any apps created in the IDE run under Catalina MacOS?
Yes and yes.
2. Does LiveCode support vector polygons? Can a user define via code a polygon as a list of x,y coordinates in real time?
Yes, with a nice addition I don't recall in SC during my 10 years with that excellent tool: in LiveCode, polygon points have one pair on each line, which makes them more readable and easier to traverse. But even better, you can use a blank line between points lists to create discontiguous shapes.
Another nice feature of LC's polygons is that they have a variety of properties for drawing markers at the polygon's corners, which can be great for making charts.
And all graphic objects have a wide range of effects that can be applied to them, including drop shadows, inner glow, outer glow, dashed lines, your choice of curved or angled end points, and many others. Some years ago LC switched from their internal set of graphics primitives to use Google's open source Skia library, where so many of these details come along for the ride.
3. What are the numerical precision limits in LiveCode math functions?
LiveCode uses 64-bit IEEE 754 floating-point representation for numbers. This provides around 16 digits of decimal precision.
Our community has libraries available for math requiring larger numeric ranges.
I know that HyperCard used the same IEEE 754 for its math, as implemented in Apple's SANE. I don't know what SC currently uses.
4. Does LiveCode support application output to iOS?
Yes.
5. What find, offset, and sorting functions are available for item delimitated text exist in LiveCode?
All the ones SC supports IIRC, plus a few others. In addition to characters, words, items, and lines, LC also supports bytes, and a trueWord chunk type that's like word but without the old HC rules, using standard Unicode natural-language parsing routines to handle true word boundaries (e.g. independent of punctuation, quotes, etc.).
Also, in LC delimiters can be multi-character, rather than the single-character delimiters needed for most xTalks.
LC also has some very nice field properties not found in SC (at least not when I was using SC daily), like paragraph-level formatting, numbered lists, row and column grid lines, and a lot more. This is only peripherally related to your question, but worth introducing because of course after we manipulate text we'll want to display it, and the rich field options make a lot of text display/formatting tasks much easier.
6. Is there performance parity between LiveCode and SuperCard execution speeds?
This is hard for me to say, for three reasons:
a) It's been more than a decade since I ran comparative benchmarks in both programs on the same machine.
b) Truly meaningful comparisons will want to take full advantage of each language's features, and over the years I've found myself using LC-specific features to achieve the same outcomes but through different means. For example, associative arrays play a big role in LC, and while I know Mark Lucas used to have an array external for SC (I used to public that for him along with ListMaster and others) I don't know if those are now part of the SC engine. Same with the aforementioned field properties, a few object model differences, and LC's accommodation for multiple OSes.
c) Both LC's lead engineer, Mark Waddingham, and SC's lead engineer, Mark Lucas, are friends of mine for many years, and given how invested programmers are in optimization I'd want to answer that
very carefully.
All that said, if you can think of a particular goal you'd like to test it might be fun for each of us to craft a solution for each and we can find out.