lua-users home
lua-l archive

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

On 01/02/2011 13.21, Everett L Williams II wrote:
I have always regarded coding as a trivial and boring task
that should occupy no more than 10-20% of the effort in any project.

I wholeheartedly agree.

nothing to do with reality. That is how I see lua. It is a beautiful
artifact that allows access to the basic mechanisms of functional and
object oriented programming without necessarily doing something useful
or even intelligible. On the other hand, solving a difficult equation or
building a gem of a program in lua gives a great deal of personal
satisfaction, but that is not usually what I have in mind when I sit to

I wholeheartedly disagree :-)
(not about the satisfaction, though...)

I've recently written a moderately complex set of Lua tools to create an interactive adventure ebook (with the feeling of an old-time adventure game) containing about 6000 pages, 11000 links and infinite paths. As I was also the writer I was very interested in having good, reliable tools. Thanks to Lua I had been able to write the metacompiler (the central tool) in a couple of weeks and yet make it solid enough to be usable with almost no fixing for more than a year. Ah, and I can still understand the code :-)

Of course I had the whole program in my head before starting, but Lua allowed me to save a large amount of time. My objection to your statement above is: yes, you *can* do intricate, involved things in Lua, but nothing *forces* you to do them. In fact, I'm a minimalist and I try to avoid any unnecessary complexity by writing simple, plain code; on the other hand, if a metatable or other mechanism gives me an advantage, I have no qualms about using it (and documenting well that particular passage or data structure).

Lua's expressive power can be used to avoid designing and writing volumes of redundant code, while keeping the program clean and understandable. It could also be used to write (unintentionally) obfuscated code, but that can be done in any language.