lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


> My view on compatibility is this:  for a language such as Lua where the
> interpreter is embedded into your app and the entire library is ANSI C,
> backwards compatibility is not very important.

Hear hear.

This means that Lua has an excellent opportunity to innovate and become a
really excellent language without losing the benefit of the experience
gained in previous versions (ever notice how most improvements in language
design come from new authors, who naturally forget (or have never
learned) some of the lessons of the past, and so repeat its mistakes?).

In particular, Lua has an extremely tight implementation, and many of the
techniques would continue to apply even if the language changed quite
radically.

On the other hand, the drag effect of having major sponsors who want
continuity can prevent excessive flights of fancy (although the designers
seem pretty level-headed in any case, and with so much invested already
it's hard to see them junking what they've crafted with such care).

So potentially, provided the forces of change and conservatism are
balanced, this situation is about as good as it gets.

Note: one other thing about having an embeddable language and industrial
sponsors is that it will tend to prevent creeping featurism. This is
great: IMO you always need to specify draconian constraints to keep a
system from getting too complex. For example: EPOC, Symbian's operating
system that runs in Psion organisers, mobile phones and the like basically
does everything that a PC needs (GUI, memory protection, pre-emptive
multitasking), but compared to Windows it's an order of magnitude smaller
and faster, much cleaner (OK, so it's only six years old), and best of
all, rock-solid and very simple. I bet it wouldn't've had those properties
had they not been enforced by having to run it on tiny machines.