CINXE.COM

Lua: about

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <TITLE>Lua: about</TITLE> <LINK REL="stylesheet" TYPE="text/css" HREF="lua.css"> <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1"> </HEAD> <BODY> <H1> <A HREF="home.html"><IMG SRC="images/logo.gif" ALT="Lua"></A> About </H1> <DIV CLASS="menubar"> <A HREF="portugues.html">portugu阺</A> &middot; <A HREF="news.html">news</A> &middot; <A HREF="showcase.html">showcase</A> &middot; <A HREF="uses.html">uses</A> &middot; <A HREF="quotes.html">quotes</A> &middot; <A HREF="press.html">press</A> &middot; <A HREF="authors.html">authors</A> &middot; <A HREF="contact.html">contact</A> &middot; <A HREF="license.html">license</A> &middot; <A HREF="versions.html">versions</A> &middot; <A HREF="thanks.html">thanks</A> &middot; <A HREF="start.html">getting started</A> </DIV> <P> <TABLE CLASS="columns"> <TR> <TD WIDTH="45%"> <H2><A NAME="what">What is Lua?</A></H2> <P> Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description. <P> Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode with a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping. <H2><A NAME="origin">Where does Lua come from?</A></H2> <P> Lua is designed, implemented, and maintained by a <A HREF="authors.html">team</A> at <A HREF="https://www.puc-rio.br/">PUC-Rio</A>, the Pontifical Catholic University of Rio de Janeiro in Brazil. Lua was born and raised in <A HREF="https://www.tecgraf.puc-rio.br/">Tecgraf</A>, formerly the Computer Graphics Technology Group of PUC-Rio. Lua is now housed at <A HREF="http://www.lua.inf.puc-rio.br/">LabLua</A>, a laboratory of the <A HREF="https://www.inf.puc-rio.br">Department of Computer Science</A> of PUC-Rio. <H2><A NAME="name">What's in a name?</A></H2> <P> "Lua" (pronounced <B>LOO-ah</B>) means "Moon" in Portuguese. As such, it is neither an acronym nor an abbreviation, but a noun. More specifically, "Lua" is a name, the name of the Earth's moon and the name of the language. Like most names, it should be written in lower case with an initial capital, that is, "Lua". Please do not write it as "LUA", which is both ugly and confusing, because then it becomes an acronym with <A HREF="https://acronyms.thefreedictionary.com/lua">different meanings</A> for different people. So, please, write "Lua" right! <H2><A NAME="join">Joining the community</A></H2> <P> There are several <A HREF="community.html#meeting">meeting places</A> for the Lua <A HREF="community.html">community</A> where you can go to learn and help others and <A HREF="community.html#contributing">contribute</A> in other ways. One of the focal points is the <A HREF="lua-l.html">mailing list</A>, which is very <A HREF="lua-l-stats.html">active</A> and friendly. <P> You can meet part of the Lua community in person by attending a <A HREF="community.html#workshop">Lua Workshop</A>. <!-- <P> Join us at the <A HREF="https://www.hs-furtwangen.de/en/faculties/digital-media/labs/games-lab/lua-workshop/">Lua Workshop 2022</A>, to be held in Freiburg in October. --> <H2><A NAME="support">Supporting Lua</A></H2> <P> You can help to <A HREF="donations.html">support the Lua project</A> by <A HREF="donations.html#books">buying a book</A> published by Lua.org and by <A HREF="donations.html#donation">making a donation</A>. <P> You can also help to spread the word about Lua by buying Lua products at <A HREF="https://www.zazzle.com/store/lua_store">Zazzle</A>. <P> Lua.org is an Amazon Associate and we get commissions for qualifying purchases made through links in this site. <TD CLASS="gutter"> <TD WIDTH="45%"> <H2><A NAME="why">Why choose Lua?</A></H2> <H3>Lua is a proven, robust language</H3> <P> Lua has been used in <A HREF="https://en.wikipedia.org/wiki/Category:Lua_(programming_language)-scriptable_software">many industrial applications</A> (e.g., <A HREF="http://since1968.com/article/190/mark-hamburg-interview-adobe-photoshop-lightroom-part-2-of-2">Adobe's Photoshop Lightroom</A>), with an emphasis on embedded systems (e.g., the <A HREF="http://www.ginga.org.br/">Ginga</A> middleware for digital TV in Brazil) and <A HREF="https://en.wikipedia.org/wiki/Category:Lua_(programming_language)-scripted_video_games">games</A> (e.g., <A HREF="https://wowpedia.fandom.com/wiki/Lua">World of Warcraft</A> and Angry Birds). Lua is currently <A HREF="https://www.satori.org/2009/03/05/the-engine-survey-general-results/">the leading scripting language in games</A>. Lua has a solid <A HREF="manual/5.4/">reference manual</A> and there are <A HREF="docs.html#books">several books about it</A>. Several <A HREF="versions.html">versions</A> of Lua have been released and used in <A HREF="https://sites.google.com/site/marbux/home/where-lua-is-used">real applications</A> since its creation in 1993. Lua featured in <A HREF="https://en.wikipedia.org/wiki/History_of_Programming_Languages#HOPL_III">HOPL&nbsp;III, the Third ACM SIGPLAN History of Programming Languages Conference</A>, in 2007. Lua won the <A HREF="http://www.gamasutra.com/view/news/129084/Announcing_Game_Developer_magazines_2011_Front_Line_Award_winners.php">Front Line Award 2011</A> from the <A HREF="https://www.gdmag.com/">Game Developers Magazine</A>. <H3>Lua is fast</H3> <P> Lua has a deserved reputation for performance. To claim to be "as fast as Lua" is an aspiration of other scripting languages. Several benchmarks show Lua as the fastest language in the realm of interpreted scripting languages. Lua is fast not only in fine-tuned benchmark programs, but in real life too. Substantial fractions of large applications have been written in Lua. <P> If you need even more speed, try <A HREF="https://luajit.org/">LuaJIT</A>, an independent implementation of Lua using a just-in-time compiler. <H3>Lua is portable</H3> <P> Lua is <A HREF="download.html">distributed</A> in a small package and builds out-of-the-box in all platforms that have a standard C compiler. Lua runs on all flavors of Unix and Windows, on mobile devices (running Android, iOS, BREW, Symbian, Windows Phone), on embedded microprocessors (such as ARM and Rabbit, for applications like Lego MindStorms), on IBM mainframes, etc. <P> For specific reasons why Lua is a good choice also for constrained devices, read <A HREF="http://lua-users.org/lists/lua-l/2007-11/msg00248.html">this summary</A> by Mike Pall. See also a <A HREF="http://www.schulze-mueller.de/download/lua-poster-090207.pdf">poster</A> created by Timm M黮ler. <H3>Lua is embeddable</H3> <P> Lua is a fast language engine with small footprint that you can embed easily into your application. Lua has a simple and well documented API that allows strong integration with code written in other languages. It is easy to extend Lua with libraries written in other languages. It is also easy to extend programs written in other languages with Lua. Lua has been used to extend programs written not only in C and C++, but also in Java, C#, Smalltalk, Fortran, Ada, Erlang, and even in other scripting languages, such as Perl and Ruby. <H3>Lua is powerful (but simple)</H3> <P> A fundamental concept in the design of Lua is to provide <EM>meta-mechanisms</EM> for implementing features, instead of providing a host of features directly in the language. For example, although Lua is not a pure object-oriented language, it does provide meta-mechanisms for implementing classes and inheritance. Lua's meta-mechanisms bring an economy of concepts and keep the language small, while allowing the semantics to be extended in unconventional ways. <H3>Lua is small</H3> <P> Adding Lua to an application does not bloat it, thus also <A HREF="https://spectrum.ieee.org/lean-software-development">contributing to its security</A>. The <A HREF="ftp/lua-5.4.7.tar.gz">tarball for Lua 5.4.7</A>, which contains source code and documentation, takes 365K compressed and 1.3M uncompressed. The source contains around 31000 lines of C. Under 64-bit Linux, the Lua interpreter built with all standard Lua libraries takes 279K and the Lua library takes 464K. <H3>Lua is free</H3> <P> Lua is free open-source software, distributed under a <A HREF="license.html">very liberal license</A> (the well-known MIT license). It may be used for any purpose, including commercial purposes, at absolutely no cost. Just <A HREF="download.html">download</A> it and use it. </TR> </TABLE> <P CLASS="footer"> Last update: Tue Jun 25 13:27:55 UTC 2024 </P> <!-- Last change: Lua 5.4.7 released --> </BODY> </HTML>

Pages: 1 2 3 4 5 6 7 8 9 10