Lua (programming language)

Lua
Screenshot of Lua code from a Wikipedia Lua module using the MediaWiki Scribunto extension
ParadigmMulti-paradigm: scripting, imperative (procedural, prototype-based, object-oriented), functional, meta, reflective
Designed byRoberto Ierusalimschy
Waldemar Celes
Luiz Henrique de Figueiredo
First appeared1993; 31 years ago (1993)
Stable release
5.4.7[1] Edit this on Wikidata / 25 June 2024; 5 months ago (25 June 2024)
Typing disciplineDynamic, strong, duck
Implementation languageANSI C
OSCross-platform
LicenseMIT
Filename extensions.lua
Websitewww.lua.org Edit this at Wikidata
Major implementations
Lua, LuaJIT, LuaVela, MoonSharp,
Dialects
GSL Shell, Luau
Influenced by
C++, CLU, Modula, Scheme, SNOBOL
Influenced
GameMonkey, Io, JavaScript[citation needed], Julia, MiniD, Red, Ring,[2] Ruby,[citation needed] Squirrel, MoonScript, C--, Luau

Lua (/ˈlə/ LOO; from Portuguese: lua [ˈlu(w)ɐ] meaning moon) is a lightweight, high-level, multi-paradigm programming language designed mainly for embedded use in applications.[3] Lua is cross-platform software, since the interpreter of compiled bytecode is written in ANSI C,[4] and Lua has a relatively simple C application programming interface (API) to embed it into applications.[5]

Lua originated 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.

  1. ^ "[ANN] Lua 5.4.7 now available". 25 June 2024. Retrieved 27 June 2024.
  2. ^ Ring Team (5 December 2017). "The Ring programming language and other languages". ring-lang.net. Archived from the original on 25 December 2018. Retrieved 5 December 2017.
  3. ^ Ierusalimschy, Roberto; de Figueiredo, Luiz Henrique; Filho, Waldemar Celes (June 1996). "Lua—An Extensible Extension Language". Software: Practice and Experience. 26 (6): 635–652. doi:10.1002/(SICI)1097-024X(199606)26:6<635::AID-SPE26>3.0.CO;2-P. S2CID 61066194. Retrieved 24 October 2015.
  4. ^ "About Lua". Lua.org. Retrieved 11 August 2011.
  5. ^ Takhteyev, Yuri (21 April 2013). "From Brazil to Wikipedia". Foreign Affairs. Retrieved 25 April 2013.