If this piques your interest, the best way to learn Lua is probably Ierusalimschy's _Programming in Lua, 2nd ed._ (http://www.inf.puc-rio.br/~roberto/pil2/). That starts from square one and gets to advanced Lua programming, the C API, etc. in just over 300 pages.
The first edition is free online (http://www.lua.org/pil/); the language changed somewhat between the two, but it gives a reasonable impression.
There's also a lot of content at http://lua-users.org/, including the wiki and mailing list archives.
LuaRocks (http://luarocks.org/) is a central library collection (such as CPAN, ruby gems, etc.), though not everybody uses it. For people on Windows, "Lua for Windows" (http://code.google.com/p/luaforwindows/) is a pretty good batteries-included distribution.
It kinda feels like it ends before it gets past the stuff I could guess from knowing my way around other scripting languages, but I'm guessing it's a work-in-progress. It'd probably benefit from even a brief "Why Lua?" discussion, though.
It's very pretty, but I'd consider getting rid of the text-shadow on code examples.
(Minor point, but: # as a length operator isn't entirely unique to Lua, Perl has $#foo to return the length [kinda] of the array @foo).
The length operator(#) is a bit misleading when used with tables, you can only rely on it with array like tables with numeric indexes without holes in them (no nil values). Thats a big gotcha one should mention.
Contrary to what hardcore "coders" tell you, notepad is
not your ideal development environment.
I don't want to bring up this debate again, but I do want to point out that this is a strawman. No one codes in Notepad or TextEdit. So for me, the tutorial starts off on a rotten note.
> * Maybe also if you want to add embeddable scripting to your app, but then why not go with more popular choice, like Python?
The Lua VM is extremely lean, and it has been designed from scratch for embeddability in C and C++ programs (it is written in the common subset of C89 and C++).
Furthermore, if your code runs on x86 or x64, you can switch to LuaJIT which is amazingly fast. LuaJIT has the same perfirmance profile as Java (but it is mre frugal on memory). The Lua interpreter is about as fast as Pypy, the fastest Python JIT compiler.
Well, Python and its ilk are getting pretty huge. And most of its programmers are pretty used to the (massive) standard library. So if you just include the interpreter, Python programmers will be a bit confused. With Lua, that's not an issue.
Also, it is a very clean and simple language. It's basically Javascript done right.
If I remember correctly, it's one of Zed Shaw's current obsessions. So I bet we're going to see some interesting combination of Lua with his new Mongrel2 project. That combined with the growing library and the packaging mechanism (rocks) might further improve the publicity of Lua for stand-alone scripting.
It tries to use Flash for fonts and falls back to standard html if you are missing the Flash plugin. If you use something that blocks Flash then you just see boxes everywhere there is supposed to be a text heading.
That's an interesting point, because of all the languages I prefer working with Unicode (UTF-8) in Lua.
This is because I know exactly where I am, there's no under-the-hood encoding/decoding to slow down my application, etc. This is a common problem I find in e.g. Python applications. If I need character count instead of byte count, I pull in a unicode library. For most things this is not necessary and unicode strings are just passed through transparently.
Finally there are numerous modules and ways to interpret and manipulate unicode strings in Lua, should you actually need that.
Cannot scroll properly on safari, Mac OS X; When scrolling, it stops whenever it hits a flash thing. Also excersize > exercize. Looks cute. You might want to mention metatables in the crash course.
The first edition is free online (http://www.lua.org/pil/); the language changed somewhat between the two, but it gives a reasonable impression.
There's also a lot of content at http://lua-users.org/, including the wiki and mailing list archives.
LuaRocks (http://luarocks.org/) is a central library collection (such as CPAN, ruby gems, etc.), though not everybody uses it. For people on Windows, "Lua for Windows" (http://code.google.com/p/luaforwindows/) is a pretty good batteries-included distribution.