Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Lua
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Lightweight programming language}} {{other}} {{Use dmy dates|date=February 2021}}{{Infobox programming language | name = Lua | logo = Lua-Logo.svg | logo size = 140px | screenshot = Excerpt of Coordinates module in Lua.png | screenshot_size = 250px | screenshot caption = Screenshot of Lua code from a [[WP:Lua|Wikipedia Lua module]] using the [[MediaWiki]] [[mw:Extension:Scribunto|Scribunto]] extension | paradigm = [[Multi-paradigm]]: [[Scripting language|scripting]], [[Imperative programming|imperative]] ([[Procedural programming|procedural]], [[Prototype-based programming|prototype-based]], [[Object-oriented programming|object-oriented]]), [[Functional programming|functional]], [[Metaprogramming|meta]], [[Reflective programming|reflective]] | year = {{Start date and age|1993|df=yes}} | designer = [[Roberto Ierusalimschy]]<br/>Waldemar Celes<br/>Luiz Henrique de Figueiredo | developer = | latest release version = {{wikidata|property|reference|edit |Q207316 |P348}} | latest release date = {{start date and age|{{wikidata|qualifier|Q207316|P348|P577}}}} | latest preview version = | latest preview date = | typing = [[Dynamic typing|Dynamic]], [[Strong and weak typing|strong]], [[Duck typing|duck]] | implementations = [//www.lua.org/download.html Lua], [[LuaJIT]], [//github.com/luavela/luavela LuaVela], [https://www.moonsharp.org/ MoonSharp], | programming language = [[ANSI C]] | dialects = [https://www.nongnu.org/gsl-shell/ GSL Shell], [https://luau.org Lua''u''] | influenced by = [[C++]], [[CLU (programming language)|CLU]], [[Modula]], [[Scheme (programming language)|Scheme]], [[SNOBOL]] | influenced = [[GameMonkey Script|GameMonkey]],<!--2003--> [[Io (programming language)|Io]],<!--2002--> [[JavaScript]]{{Citation needed|date=November 2022}}, [[Julia (programming language)|Julia]],<!--2006--> [[Red (programming language)|Red]], [[Ring (programming language)|Ring]],<ref name="The Ring programming language and other languages">{{cite web |url=http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |title=The Ring programming language and other languages |author=Ring Team |date=5 December 2017 |work=ring-lang.net |access-date=5 December 2017 |archive-date=25 December 2018 |archive-url=https://web.archive.org/web/20181225175312/http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |url-status=dead}}</ref> [[Ruby (programming language)|Ruby]],{{Citation needed|date=November 2022}} [[Squirrel (programming language)|Squirrel]],<!--2011--> [[C--]], [[Roblox Studio|Luau]], | operating system = [[Cross-platform software|Cross-platform]] | license = [[MIT License|MIT]] | website = {{url|https://lua.org/}} | file ext = <code>.lua</code> | wikibooks = }} '''Lua''' {{Noexcerpt|({{IPAc-en|ˈ|l|uː|ə}} {{Respell|LOO|ə}}; from {{Langx|pt|[[wikt:lua#Portuguese|lua]]}} {{IPA|pt|ˈlu(w)ɐ|}} meaning ''[[moon]]'')}} is a [[Lightweight programming language|lightweight]], [[High-level programming language|high-level]], [[multi-paradigm programming language|multi-paradigm]] [[programming language]] designed mainly for [[Scripting language|embedded use]] in applications.<ref name="luaspe">{{cite journal|last1=Ierusalimschy|first1=Roberto|last2=de Figueiredo|first2=Luiz Henrique|last3=Filho|first3=Waldemar Celes|title=Lua—An Extensible Extension Language|journal=Software: Practice and Experience|date=June 1996|volume=26|issue=6|pages=635–652|doi=10.1002/(SICI)1097-024X(199606)26:6<635::AID-SPE26>3.0.CO;2-P|s2cid=61066194 |url=https://www.lua.org/spe.html|access-date=24 October 2015|url-access=subscription}}</ref> Lua is [[cross-platform software]], since the [[Interpreter (computing)|interpreter]] of [[Compiler|compiled]] [[bytecode]] is written in [[ANSI C]],<ref name=luaabout>{{cite web |url=https://www.lua.org/about.html#why |title=About Lua |publisher=Lua.org |access-date=2011-08-11}}</ref> and Lua has a relatively simple C application programming interface ([[API]]) to embed it into applications.<ref>{{cite magazine |last1=Takhteyev |first1=Yuri |date=21 April 2013 |url=https://www.foreignaffairs.com/articles/139332/yuri-takhteyev/from-brazil-to-wikipedia?page=2 |title=From Brazil to Wikipedia |magazine=[[Foreign Affairs]] |access-date=25 April 2013}}</ref> Lua originated in 1993 as a language for extending [[application software|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 language|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 [[Profiling (computer programming)|speed]], [[Porting|portability]], extensibility and ease-of-use in development.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)