[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: proposal: state machine syntax also usable for continue / nested break
- From: Enrico Colombini <erix@...>
- Date: Tue, 01 Feb 2011 14:00:52 +0100
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.