[OT] SWIFT
Richard Gaskin
ambassador at fourthworld.com
Tue Jul 15 14:10:17 EDT 2014
Terence Heaford wrote:
> LiveCode is NOT very fast in my opinion.
>
> I repeat what I have said before, scrolling of a DataGrid is
> abysmally slow, in my opinion, when compared to other programming
> apps.
Which other programming apps provide a point-and-click way to produce
form layouts like LC's DataGrid?
Of course you can write them in C and get better performance - or better
yet, in Assembler - but for what it does it's not bad. In fact, I
haven't yet seen anything else as flexible and easy to build with that
performs faster, but I'm always willing to learn if you can provide a URL.
Moreover, as outlined in the recent video on the relationship between
theming and Open Language, work is underway to make that sort of
flexibility much faster, not only for the DG but for a wide range of
custom control types as well.
In the meantime, yes, compared to hand-crafted C the DG's ease of
implementation does indeed come with a tradeoff in scrolling performance.
Your observations on this have been well and thoroughly described, but
have you had a chance to explore any other controls in LiveCode, such as
the native field object?
In my experience the buffering with the native field object outperforms
the best work of the massive Microsoft Office and Libre Office teams.
The reason there is more than one programming language in the world is
that each brings something a little different to the table. None of
them is a magic pony, and all of them represent tradeoffs, either in
runtime performance, development efficiency, platform coverage, or other
areas.
The upside to having so many thousands of languages to choose from is
that each of us can find one we really like.
Swift has many great things going for it, if your business model allows
you the luxury of writing for just one vendor's OS. I used to do that
myself, but both myself and my clients nearly lost our businesses
betting on the single-platform horse, and with some 91% of the desktop
market running Windows and 74% of the mobile market running Android,
there's just too much money left on the table for most folks I know to
want to try that again.
That said, if you run your company lean enough or have sufficient
capital to market your way into the top 100 slot where half of all iOS
revenues go, using Swift may indeed be quite a good option.
> Even a now out of date SuperCard when using the ListMaster external
> is many times faster than LiveCode.
As a long time friend of ListMaster's author and having been the
original publisher of ListMaster for several years, I know very well
what a joy it is to work with.
That is, if your audience is exclusively Mac.
And IIRC, ListMaster only handles (at least back when Fourth World
published it) the equivalent of the DG's list view.
Given how easy and performant it is to use LC's native fields for
multicolumn lists, the real value of the DG comes from its form view,
offering far greater layout flexibility than ListMaster provided.
ListMaster is a fine piece of work for what it is, but like programming
languages and everything else, there is no magic pony - everything
involves tradeoffs.
If you need an external for a single platform that provides for LC what
the ListMaster external provided for SC, you may be able to get someone
to write it for you.
But since independent column alignment is already in the can for the
native field object in LC v7 (should be in the next DP), you may not
need it if you can wait just a bit longer.
> Why a so called modern up to date language implements a DataGrid by
> grouping fields together rather than providing a DataGrid actually
> built-in is beyond me.
That's more or less how ListMaster works, but doing it in C rather than
in script.
C is great, but much harder to work with. The ListMaster external took
a tremendous amount of time to complete.
You could write such an external for LiveCode, but for most developers
the tradeoff between development expense and scrolling performance has
been more favorable for their needs than it has for yours.
> Perhaps it is beyond the capabilities of the LiveCode programmers.:)
Here's the source - show us how it's done:
<https://github.com/runrev/livecode>
--
Richard Gaskin
Fourth World
LiveCode training and consulting: http://www.fourthworld.com
Webzine for LiveCode developers: http://www.LiveCodeJournal.com
Follow me on Twitter: http://twitter.com/FourthWorldSys
More information about the use-livecode
mailing list