Trying a custom handler for several math fields
Richard Gaskin
ambassador at fourthworld.com
Sat Sep 14 15:11:33 EDT 2013
Vaughn Clement wrote:
> I see your point about possible damage. But consider the current effort to
> autosize screens to manage the Android device apps. Would this cause the
> same problems as your describing for legacy apps?
I believe the way resolution independence is designed in v6.5dp forward
should minimize hindrance with legacy code - from the Release Notes (p11):
Since all of the updates are internal, the end LiveCode developer
should see no major changes: Where possible, we've tried to match
previous behaviors as closely as possible.
In general, the team does an unusually good job of preserving backward
compatibility (ever talk with Python fans about moving from v2 to v3?
<g>).
Where an enhancement is both unquestionably more valuable than previous
workarounds and where it could not be implemented without some cost to
backward compatibility, the team will draw attention to those in the
Release Notes so developers can make any modifications needed for them.
In the 15 years I've been working with this engine, I can recall only
maybe three cases where an enhancement lost backward compatibility.
> I am starting to see a trend in the conversation in the How To email
> that is out to defend LC to protect the standards of usage.
It may be more helpful to think of it as defending the scripters who
rely on LC rather than LC itself.
This engine was first born in '92, and over the decades the community
has built up enormous collections of scripts, many of them critical to
the revenue of the businesses that rely on them.
Any change that risks altering the behavior of 20 years of community
code is a decision that needs to be weighed with extreme caution. In
the best case it will cost us hundreds of dollars to update code; in the
worst case it can be cost-prohibitive and destroy a business.
Thankfully, RunRev is as cautious about such proposed changes as those
of us who rely on their engine, so a good balance favoring backward
compatibility wherever practical seems to be pretty well maintained.
> I am not saying this is good or bad, but I wonder if this will impede
> the future growth of what was once a very simple product named HypeCard?
HyperCard is actually a pretty good example here: while LC maintains
much of the same event-driven simplicity that made HC so enjoyable, it
also supports at least three times as many messages for much more
refined interaction control.
The same goes for properties, commands, and even the range of native
objects and the mechanisms for extending the message path: LC has
retained most of what HC offered, but has gone much, much further to
provide capabilities HC never dreamed of - and on six times as many
platforms.
I was once hired by a company to enhance some of their internal HC-based
tools to write a bunch of complicated scripts which ultimately did
nothing more than provide workaround ways of getting things like groups
and custom properties into HC. I advised them at the outset, and
several times throughout the project, that if they just ported to
LiveCode they wouldn't need me at all. But they insisted on sticking
with HC, and insisted on paying me to write built-in LC features in
cumbersome workarounds within HC. And when HC eventually stopped
running on Macs they had to port it later anyway.
HC was a great tool in its day, but today we're in a very different
world. The things that made HC simple to learn also made it very
limited: monochrome, single-stack standalones, dialogs and palettes and
even color had to be driven from externals, no vector graphics, only one
background group, and on and on - not to mention being able to deploy
only for the second-least-popular OS on the planet after desktop Linux.
Today's developer needs associative arrays, Internet connectivity,
database support, etc. LC does have a higher learning curve than HC,
but in a world where more people are typing JavaScript right now than
the sum of all xTalkers ever, LC does a reasonably good job of balancing
capabilities with learnability.
It can get much better - lots of room for improvement. And with the new
"open syntax" initiative (something only REBOL ever achieved among
scripting languages, far beyond HC's wildest dreams) , we can expect a
lot of powerful new capabilities in syntax that gets ever more simple as
it goes.
--
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