Aviva Directory » Computers & Internet » Programming » Lua

Designed primarily for embedded use in applications, Lua is also used in game creation, as a scripting language, and as a beginning language for training new programmers.

Lua was released in 1993 by members of the Computer Graphics Technology Group at the Pontifical Catholic University of Rio de Janeiro. Its original purpose was as a language for extending software applications for customization.

From 1977 to 1992, trade barriers imposed on Brazil greatly limited the software that could be purchased from abroad, so it became necessary for Brazilian programmers to implement the basic software tools that were needed from scratch.

Lua was an extension of the data-description/configuration languages, Simple Object Language (SOL) and Data-Entry Language (DEL), which had been independently developed by the Computer Graphics Technology Group in 1991 and 1992. Lacking flow control structures in SOL and DEL, it became necessary to add full programming power to them. The result was Lua.

Lua was designed to incorporate the data-description syntax of SOL, borrowing the control structures from Modula, with influence from CLU, C++, Modula, Scheme, and SNOBOL.

Early versions of Lua were released under a license similar to the BSD license, but it has been licensed under the MIT license since version 5.0.

Lua is a multi-paradigm language. Its programs are not interpreted directly from the textual Lua file but are compiled into bytecode, which is then run on a Lua virtual machine. This process is invisible to the user and is performed during runtime, although it can be done offline in order to increase performance.

The language is intended to be embedded into other applications. An API for C is provided for that purpose. Extension modules can be written, using the Lua API, to extend the functionality of the interpreter by providing native facilities to Lua scripts. A collection of modules known as rocks are available through LuaRocks, a package management system. Pre-written Lua bindings are available for most popular programming languages, and other scripting languages.

For video game development, Lua is used as a scripting language, an advantage being the ease in which it can be embedded, its fast execution, and relatively short learning curve. It has become a popular scripting language for game programming.

Lua is also available as a scripting language in the MediaWiki software that powers Wikipedia and other wikis.

The focus of this category is on the Lua programming language, which may include any of its implementations, extensions, or tools, as well as user groups, tutorials, or other resources.



Recommended Resources

Search for Lua on Google, Bing, or Yahoo!