About
português
·
news
·
quotes
·
press
·
authors
·
contact
·
license
·
documentation
·
versions
·
thanks
Here is a summary of all things Lua:
what it is,
why you should use it,
where it comes from,
and
what it means.
Lua is a powerful, fast, lightweight, embeddable scripting language.
Lua combines simple procedural syntax with
powerful data description constructs based on
associative arrays and extensible semantics.
Lua
is dynamically typed,
runs by interpreting bytecode for a register-based virtual machine,
and has automatic memory management with incremental garbage collection,
making it ideal for
configuration,
scripting,
and
rapid prototyping.
Lua is a proven, robust language
Lua has been used in many industrial applications
(e.g.,
Adobe's Photoshop Lightroom),
with an emphasis on embedded systems and games
(e.g.,
World of Warcraft).
Lua is currently the leading scripting language in games.
Lua has a solid
reference manual
and there are
several books about it.
Several
versions
of Lua have been released and used in real applications
since its creation in 1993.
Lua featured in
HOPL III,
the Third ACM SIGPLAN History of Programming Languages Conference,
in June 2007.
Lua is fast
Lua has a deserved reputation for performance.
To claim to be "as fast as Lua" is an aspiration of other scripting languages.
Several benchmarks show Lua as the fastest language
in the realm of interpreted scripting languages.
Lua is fast not only in fine-tuned benchmark programs,
but in real life too.
A substantial fraction of large applications have been written in Lua.
Lua is portable
Lua is distributed in a small package and
builds out-of-the-box
in all platforms that have an ANSI/ISO C compiler.
Lua runs on all flavors of Unix and Windows,
and also on mobile devices
(such as handheld computers and cell phones
that use BREW, Symbian, Pocket PC, etc.)
and embedded microprocessors (such as ARM and Rabbit)
for applications like Lego MindStorms.
Lua is embeddable
Lua is a fast language engine with small footprint that
you can embed easily into your application.
Lua has a simple and well documented API
that allows strong integration with code written in other languages.
It is easy to extend Lua with libraries written in other languages.
It is also easy to extend programs written in other languages with Lua.
Lua has been used to extend programs written not only in C and C++,
but also in Java, C#, Smalltalk, Fortran, Ada,
and even in other scripting languages,
such as Perl and Ruby.
Lua is powerful (but simple)
A fundamental concept in the design of Lua is to
provide meta-mechanisms for implementing features,
instead of providing a host of features directly in the language.
For example,
although Lua is not a pure object-oriented language,
it does provide meta-mechanisms for implementing classes and inheritance.
Lua's meta-mechanisms bring an economy of concepts and keep the language small,
while allowing the semantics to be extended in unconventional ways.
Lua is small
Adding Lua to an application does not bloat it.
The
tarball for Lua 5.1.4,
which contains source code, documentation, and examples,
takes 212K compressed and 860K uncompressed.
The source contains around 17000 lines of C.
Under Linux,
the Lua interpreter built with all standard Lua libraries takes 153K
and the Lua library takes 203K.
Lua is free
Lua is free software,
distributed under a
very liberal license
(the well-known MIT license).
It can be used for any purpose, including commercial purposes,
at absolutely no cost.
Just
download
it and use it.
For specific reasons why Lua is a good choice also for
constrained devices like cell phones,
read
this summary
by Mike Pall.
See also a
poster
created by Timm Müller.
Lua is designed, implemented, and maintained by
a
team
at
PUC-Rio,
the Pontifical Catholic University of Rio de Janeiro in Brazil.
Lua was born and raised at
Tecgraf,
the Computer Graphics Technology Group of PUC-Rio,
and is now housed at
Lablua.
Both Tecgraf and Lablua are laboratories of the
Department of Computer Science
of PUC-Rio.
"Lua"
(pronounced LOO-ah)
means "Moon" in Portuguese.
As such, it is neither an acronym nor an abbreviation, but a noun.
More specifically,
"Lua" is a name,
the name of the Earth's moon and the name of the language.
Like most names,
it should be written in lower case with an initial capital, that is, "Lua".
Please do not write it as "LUA",
which is both ugly and confusing,
because then it becomes an acronym
with
different meanings
for different people.
So, please, write "Lua" right!
Last update:
Wed Feb 11 15:45:43 BRST 2009