[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Lua impressions from a scheme/f# programmer [was: Linking Lua in F#]
- From: Steve Litt <slitt@...>
- Date: Mon, 18 Jul 2011 21:07:57 -0400
On Monday, July 18, 2011 08:10:04 PM David Manura wrote:
> On Mon, Jul 18, 2011 at 6:46 PM, J. A. "Biep" Durieux
<rrrs@biep.org> wrote:
> > P.S.: Being the pedantic person that I am, I often write down the
> > thoughts I have regarding the software I use. I attach my Lua
> > thoughts for your enjoyment..
>
> This is worth a discussion thread in its own right, so I'm forking
> it.
Say whaaaaaat?
It's fascinating to see the difference between other peoples'
priorities and mine. With the possible exception of "More metatable
functionality", nothing listed in that text file would improve my life
with Lua.
I'll tell you my priorities:
1) Keep tables just the way they are. They're tremendous algorithm
enablers.
2) Keep closures. They make everything soooo easy.
3) Continue to make callback function syntax simple like it is right
now. I don't even try callbacks in other languages -- the syntax just
gets too hairy.
4) Find a way to encourage/document/qc third party interfaces and
frameworks. When bragging about Lua, the ONLY thing I can't brag about
is the lack of a Rails substitute, lack of stuff typically supplied by
CPAN and/or Ruby gems. I understand this is not the business of the
core Lua developers, but we in the community should find a way of doing
it. Having add-on software would change Lua from a language loved by
its users to a language everyone wants to use, without adding one new
feature to the language. This is a big priority to me.
5) Enable a simple, C like continue statement. No gotos, no labels, no
choices of where it continues at, just a way to go to the top of the
loop and continue. My view is it's no more non-modular than break.
This is a small priority to me, although certainly bigger than those
mentioned in the original file. This is not a big deal -- I already
developed a general purpose iterator that renders it unnecessary, but
it *would* be a nice addition -- just saying.
6) Enable the equivalent of C's ++, += and *=. Makes for less verbose
coding. Small priority, I could easily code up mynumber:increment(n)
and mynumber:multby(). Just saying...
7) Use Python's space delimited blocks instead of end. I like the way
Python does it. But seeing as nobody else does, I'll shut up. Vim has
excellent syntax highlighting, making this a trivial point.
Except for #4, I find Lua to be head and shoulders above all other
languages for ease of programming, ease of debugging, logical
consistency, etc. I can't begin to tell you how much I love the "all
complex data are tables" feature of Lua. Except for #4, if Lua never
got another feature I'd love it forever.
SteveT
Steve Litt
Author: The Key to Everyday Excellence
http://www.troubleshooters.com/bookstore/key_excellence.htm
Twitter: http://www.twitter.com/stevelitt