Refactoring is your friend / moving from 6.x to 9.x

Curry Kenworthy curry at
Sat Jan 5 08:29:02 CET 2019


 > Is there an actual list of concrete concerns here [...]
 > or did I just spend an hour reading that I'll never get back?
 > I feel rickrolled.

A profound question, my friend. :D You may notice something special 
about the following link, adapted in honor of the situation:

Oh boy - I was ALWAYS gullible enough to fall for the "concrete 
concerns" type of line every single time, and rush off to make a newer 
list, until finally I wised up to the world's ways and realized that 
(outside of bug reports and specific issues) such statements are 
sometimes used merely to deflect - it's not always a matter of actually 
wanting more details, but rather quite simply an unwanted message.

These days, I am usually prepared in advance and merely smile and point 
a finger toward the information; the answer long preceded the question!

Many of the details had been in place and waiting for some time, by 
myself and others. They've been presented and discussed before, so I 
didn't anticipate the need to reference every single one yet again; 
perhaps I should have. But I understand that memories can be convenient, 
and assumptions and agendas can be strong enough to brush aside what we 
already know every now and then.

So, the "reverse rickrolled" link above connects to some aging stats 
that still hold generally true on the subject of performance. In many 
very basic tasks (math, loops, arrays) LC 9 has fallen short by 1.x or 
even 2.x, and that's still the case as of 902 final.

And testing indicated that it's almost certainly NOT just a Unicode 
thing. I'm sorry if that makes me the messenger of inconvenient news, or 
a destroyer of attractive explanations, but I prefer the plain truth of 
reality. Repeatable, proven, public tests, videotaped and distributed; 
sorry, but it's fact. No line of talk or alternate authoritative studies 
can alter that. Test it yourself, or look the other way if you must, but 
the facts persist either way.

I'm going to wait until there are relevant engine changes to update the 
results chart and test stack. It'll be fair as usual; in the original 
round of testing I went out of my way to make sure 9 had at least one 
match in its favor, and now I know a few other areas thanks to these 
talks. Hopefully after said engine changes, 9 will be the big winner!

When it comes to another matter of efficiency and saving work by 
avoiding repetition, I've always been a big fan of Richard's own rather 
extensive and lengthy rhetoric on the subject, and his repertoire of 
catchy acronyms such as WET (We Enjoy Typing) versus DRY (Don't Repeat 
Yourself). But I do believe in following through and applying the 
fundamental concepts consistently across the board, including reasonably 
minimizing repetition of the work itself. In fact Richard, there was a 
very eloquent past message of yours on a similar subject, if memory 
serves me well. I may post a link eventually if I have time to hunt it 
down, and defer to your own words on that; it was very well said.


 > Some may think I'm overstating my case, but I think Livecode
 > stands alone in development environments for speedy development
 > and ease of use.

You may be surprised that I agree! But of course you wouldn't be 
surprised if you noticed that for many years now, I am 100% specialized 
and 100% dedicated to LiveCode consulting and development. It's all I 
do. I walk the walk, while others talk; all LiveCode, all the time.

So I understand if you feel an impulse to circle the wagons, but it's 
preaching to the choir or perhaps to the preacher himself. That question 
of which tool was settled long ago, and I'm a bigger LC proponent than 
almost anyone, especially since my skin is 100% in the game as a 
dedicated and exclusive specialist in that one tool. What we are looking 
at here is the question of making THE tool better in some areas. And if 
that's a bad thing, then count me guilty as charged, because I use, 
teach, and promote this tool 24/7/365 year after year, there are big 
plans ahead, and there are certain things I want in place for LC's own 
benefit, for yours, and for my own. Far from being a threat, they will 
help LC maintain its advantage against any potential competition.

Mark Waddingham:

 > It hasn't as yet - that PR
 > ( has actually
 > turned into a mini-grab bag of things [...]

 > - reduction of memory usage of the 'handle' structures used to
 > hold values (particularly on 64-bit)
 > - faster processing of integer index access in arrays
 > - faster short-path array access (both storing and fetching) [...]

Yes!!! Just what I was hoping to hear, that this is still in the works. 
Thank you, sir. It should help a great deal.

And THAT is the reason I engage in these particular discussions, and 
make myself cannon fodder at times to get the info out there: there are 
amazing benefits still to be realized, even when using such an amazing 

Great things ahead coming from LC, and also some great things coming to 
LC that I will be able to share a bit later.


 > What I was searching for was input on gotchas you guys and girls
 > may have experienced when moving from the monolith engine to the
 > refactored one

That's a very useful endeavor and the info will help others too. I would 
like to share some of those too when there's time. Moving from LC 6 to 9 
can be a real adventure! Thanks for starting the thread and I'll let you 
steer it back in that direction.

Best wishes,

Curry Kenworthy

Custom Software Development
"Better Methods, Better Results"
LiveCode Training and Consulting

More information about the use-livecode mailing list