Paradigm | Multi-paradigm: scripting, imperative (procedural, prototype-based, object-oriented), functional |
---|---|
Designed by |
Roberto Ierusalimschy Waldemar Celes Luiz Henrique de Figueiredo |
First appeared | 1993 |
Stable release |
5.3.4 / 30 January 2017
|
Typing discipline | dynamic, strong, duck |
Implementation language | ANSI C |
OS | Cross-platform |
License | MIT License |
Filename extensions | .lua |
Website | www |
Major implementations | |
Lua, LuaJIT, LLVM-Lua | |
Dialects | |
Metalua, Idle, GSL Shell | |
Influenced by | |
C++, CLU, Modula, Scheme, SNOBOL | |
Influenced | |
Falcon, GameMonkey, Io, JavaScript, Julia, MiniD, Red, Ruby, Squirrel, MoonScript |
Lua (/ˈluːə/ LOO-ə, from Portuguese: [ˈlu.(w)ɐ] meaning moon) is a lightweight multi-paradigm programming language designed primarily for embedded systems and clients. Lua is cross-platform, since it is written in ANSI C, and has a relatively simple C API.
Lua was originally designed in 1993 as a language for extending software applications to meet the increasing demand for customization at the time. It provided the basic facilities of most procedural programming languages, but more complicated or domain-specific features were not included; rather, it included mechanisms for extending the language, allowing programmers to implement such features. As Lua was intended to be a general embeddable extension language, the designers of Lua focused on improving its speed, portability, extensibility, and ease-of-use in development.
Lua was created in 1993 by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes, members of the Computer Graphics Technology Group (Tecgraf) at the Pontifical Catholic University of Rio de Janeiro, in Brazil.