Lua Programming Language

This article is about the Lua Programming Language. For other usages, see lua.
The Lua (pronouced LOO-ah, or in IPA) programming language is a lightweight imperative/procedural language, designed as glue language with extensible semantics as a primary goal. The name is derived from the Portuguese word for moon.

History

Lua was created by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes, at the Computer Graphics Technology Group of the Pontifical Catholic University of Rio de Janeiro in Brazil in 1993. Versions of Lua prior to version 5.0 were released under a license similar to the BSD license. From version 5.0 onwards, Lua is licensed under the MIT License. Lua has been used in many commercial applications (e.g., in LucasArts' Escape from Monkey Island adventure game and robot control software) as well as non-commercial applications (like Angband and its variants). Its closest relative in the family of programming languages is perhaps the Icon programming language, although it could also be compared to Python in its emphasis on ease of use for non-programmers.

Features

Lua has a compact design, and this is evident from the fact that it supports only one data structure, the table. Tables can be used as arrays, sets, hashtables, lists or records, and can also simulate namespaces. There is a similar level of simplicity in Lua's atomic datatypes — all arithmetic is done in double-precision floating point, for example (although this can be changed to single precision floating point or integer arithmetic). The language's semantics can be extended by redefining certain built in operations on tables, and Lua also supports higher-order functions and garbage collection. It is possible to write object-oriented programs in Lua by combining all these features. Lua programs are translated into bytecode and interpreted. Although Lua is usable as a stand-alone language, it is primarily designed to be used as an extension language or scripting language within programs written in C. In this respect, it is similar to Tcl. The Lua interpreter can be accessed through a small C library, which includes both the interpreter and an API for accessing its runtime state from a host C program. The API allows different parts of a program to be written in C and Lua and gives two-way access to variables and functions across the languages (i.e., a function in Lua can call a function in C, and vice versa). Lua features prominently in World of Warcraft, a massively multiplayer online role-playing game, where the users have an unparalleled ability to customize many facets of the game, such as its user interface, character animation and world appearance, via Lua. Lua is also used as the module scripting language for Bioware's Neverwinter Nights Computer Role Playing Game modeled after Advanced Dungeons and Dragons. Lua is also heavily used by some open-source games such as the roguelikes ToME and H-World. Therescript, used to drive the vehicles and animations in There, is a very slightly modified version of Lua. The window manager Ion uses Lua for its configuration, providing to the user a very great extensibility.

External links

 

<< PreviousWord BrowserNext >>
skeptic's dictionary
qibla al qudsiyya
violence
lev kamenev
grigory zinoviev
eratosthenes
iona nikitchenko
range encoding
karl brandt
acis
rare mode
mustard gas
robert tarjan
battle of normandy
itv digital
rennes
cardiomyopathy
robert bylot
george lakoff
the football association
rafael e. nez
sicherheitsdienst
satellite navigation system
planner
solaris operating environment
glonass
1480s bc
linux network administrators' guide
glue language
gtk
garrett county, maryland
omaha, nebraska
accuracy in media
charlton heston
lucca
crisps
siderno
fish and chips
national institutes of health
typhus
jodie foster
guano
white noise
butter