lua-users home
lua-l archive

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

If I may be so bold, I would like to say something about the long term development of lua, which also applies to all things.

Lua is a marvellous language, which ably fills a niche. It is small in memory, simple to learn, powerful to use, and efficient to run.

There is always much discussion on this list on the subject of improving lua. This is a good thing, and it is a great list.

However, such discussion, as a rule, is about features that might be added to the language, in order to make it more powerful. This can be categorized as:

  A) "How can we make lua more powerful (and more complex)".

The problem is, there is little discussion or thought on the subject of:

  B) "How can we make lua simpler (and not less powerful)".

Sadly, B) is harder. Much harder. Orders of magnitude harder. A) is easy. Nearly anyone can do it. It's that easy. It's like falling off a log. You need a feature, you imagine it, you suggest it. But very few people can achieve or contribute towards B). I, for example, have nothing to contribute to B (except this plea). And B) takes a special kind of attitude, a kind of zen-like ascetic. You could even say genius.

Because A) is easy, and B) is hard, we have concepts like 'featuritus', and 'bloat', and we have lightweight languages like Java, and powerful languages like C++, that developed over many versions, by iterating the harmless step: 'Add power by adding one feature'.

Even cancer grows slowly.

My plea:

I think I can sense the majority view in this list. We don't want bloat. We don't want 'lua++'. If anything, we want 'lua--'.

I suspect the creators of lua are deeply influenced by the content of this list, so I would simply like to implore and encourage everybody on it to think about the question "How can we make lua simpler (and not less powerful)".

If 50% of the effort is focused on this question, then perhaps we will find a way. How to do this? Some possibilities are:

 * Generalize and abstract to combine features
 * Refactor features
 * Elide warts
 * Normalize to written or unwritten standards

Is it possible for lua n+1 to have 4 more features, and 4 fewer features than lua n? If it is, then lua could live forever, and I will be very happy.

Otherwise, sadness, and quiet acceptance of lua n.

Martin Hollis.
I release this text into the public domain. Credit is nice.
PS This post is not related to any particular discussion presently ongoing.