[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