Suitability as a First Programming Language?
Lua is a compact language with a clean, conventional syntax which is easy to read. This makes it a good choice for embedding as a scripting language in larger applications, but also is suitable for introducing programming concepts. Functions are first-class values and may be anonymous, so that functional styles can be learned. Proper closures and tail-call recursion are supported. It runs interactively so exploring the language and its libraries is easy. Some comparisons with other languages can be found on the Lua Wiki.