Light Mode

Saltar ao contido

Lua (linguaxe de programacion)

Na Galipedia, a Wikipedia en galego.
Para outras paxinas con titulos homonimos vexase: Lua (homonimos).
Lua
Eponimo
Implicados
Desenador/a
Desenvolvedor/a
Caracteristicas
Versions
5.5 version estabel (22 de decembro de 2025)
5.4.3 version estabel (29 de marzo de 2021)
5.3.5 version estabel (10 de xullo de 2018)
5.4.0 version estabel (29 de xuno de 2020)
5.4.4 version estabel (26 de xaneiro de 2022)
5.3.4 version estabel (30 de xaneiro de 2017)
5.4.6 version estabel (14 de maio de 2023)
5.4.5 version estabel (29 de abril de 2023)
5.4.8 version estabel (4 de xuno de 2025)
5.4.7 version estabel (25 de xuno de 2024)
5.1.3 (3 de maio de 2015)
5.1.2 (3 de maio de 2015)
5.1.1 (3 de maio de 2015)
5.1 (3 de maio de 2015)
5.1.5 (3 de maio de 2015)
5.0.3 (3 de maio de 2015)
5.1.4 (3 de maio de 2015)
5.2.4 (3 de maio de 2015)
5.2.2 (3 de maio de 2015)
5.3.2 (4 de decembro de 2015)
5.2.1 (3 de maio de 2015)
5.3.1 (22 de xuno de 2015)
5.2.3 (3 de maio de 2015)
5.0.2 (3 de maio de 2015)
5.0.1 (3 de maio de 2015)
3.2.2 (3 de maio de 2015)
4.0.1 (3 de maio de 2015)
2.1 (3 de maio de 2015)
2.2 (3 de maio de 2015)
2.4 (3 de maio de 2015)
1.1 (3 de maio de 2015)
5.3.3 (6 de xuno de 2016)
1.0 (3 de maio de 2015)
5.0 (3 de maio de 2015)
2.5 (3 de maio de 2015)
3.1 (3 de maio de 2015)
4.0 (3 de maio de 2015)
3.0 (3 de maio de 2015)
5.4.1 (9 de outubro de 2020)
3.2 (3 de maio de 2015)
3.2.1 (3 de maio de 2015)
5.4.2 (7 de decembro de 2020)
Licenza
Sistema operativo
Linguaxe de programacion
C
Extension de ficheiro
lua
lunaire
luna
anair
Datas
Fundacion / creacion
1993
Localizacion
Pais de orixe
Identificadores
Freebase/m/0chpd
Fontes e ligazons
Paxina WEB
Repositorio
Wikidata C:Commons

Lua (do termo galego/portugues lua) e unha linguaxe de programacion lixeira, multiparadigma e desenada para clientes e sistemas embebidos.[1] Lua e unha linguaxe multiplataforma cun interprete en ANSI C[2] e unha API relativamente sinxela en C.[3]

Lua desenouse en 1993 como linguaxe que ampliase aplicacions e fose cubrindo as demandas de personalizacion das aplicacions. Ten as caracteristicas esenciais da meirande parte das linguaxes procedurais mais sen caracteristicas especificas de dominio. Ten mecanismos para facilitar engadir funcions ampliar a capacidade da linguaxe. Esta desenada para ser unha linguaxe axil, portable, extensible e facil de usar.

Lua creouna Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes, membros do "Grupo de Tecnoloxia en Computacion Grafica"[4] da Pontificia Universidade Catolica do Rio de Janeiro en 1993. Comezaron a desenala nun proxecto de Petrobras.

Ata a version 5.0 Lua tivo unha licenza do grupo BSD pero logo deuselle a licenza MIT, que e compatible coa licenza GPL.

Caracteristicas

[editar | editar a fonte]

Lua e unha linguaxe de programacion lixeira e que pretende ten unha ampla funcionalidade. Lua e unha linguaxe de proposito xeral. Combina programacion dinamica e procedural para a descricion de datos, que van en taboas asociativas e cunha semantica extensible. Con iso e linguaxe axeitada para scripting e prototipado axil.

Lua permite engadir extensions e conectala a diferentes plataformas. As variables non tenen un tipo: so os datos poden ser loxicos, enteiros, numeros con punto flotante ou cadeas. A estrutura dos datos realizase empregando como matrices, conxuntos, taboas hash, listas e rexistros. As taboas permiten a combinacion destes elementos. A semantica de Lua podese ampliar con metataboas, que son funcions que estruturan os conxuntos de datos. Ten un soporte para funcions de orde superior e colleita de lixo. Asi, Lua e unha linguaxe que orientada a obxectos.

As aplicacions escritas en Lua interpretanse tras unha compilacion e executanse en maquinas virtuais. Conta cun compilador denominado JIT.[5]

Aplicacions

[editar | editar a fonte]

Lua empregase en boa parte como linguaxe de scripting no desenvolvemento de videoxogos, en parte pola facilidade de embebela e un rendemento de execucion satisfactorio. Ganou os concursos de linguaxe para videoxogos en 2003 en GameDev.net e en Front Line Award 2011. Empregouse en xogos como World of Warcraft ou en Half-Life 2.

Ten aplicacions en LuaTeX, que se emprega na compilacion de ficheiros na linguaxe TeX. O xestor de xanelas Ion de escritorio empregou tamen esta linguaxe. Fixerono tamen os sistema de paquetes RPM de Conectiva Linux e aplicacions como os simuladores Astronomico Celestia.

Exemplo de codigo

[editar | editar a fonte]
print "Ola mundo!"

A funcion factorial recursiva:

function factorial(m)
if m == 0 then
return 1
else
return m * factorial (m - 1)
end
end
  1. | 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.
  2. | "About Lua". Lua.org.
  3. | Yuri Takhteyev (21 de abril de 2013). "From Brazil to Wikipedia". Foreign Affairs.
  4. | Tecgraf/PUC-Rio, Unidade EMBRAPII (Associacao Brasileira de Pesquisa e Inovacao Industrial). "Tecgraf/PUC-Rio".
  5. | http://luajit.org (eds.). "LuaJIT - Just-In-Time Compiler (JIT)".

Vexase tamen

[editar | editar a fonte]

Bibliografia

[editar | editar a fonte]
  • Ierusalimschy, Roberto; Figueiredo, Luiz Henrique de; Celes, Waldemar. Lua Reference manual. Rio de Xaneiro: Lua.org, 2006. 103 p. ISBN 85-903798-3-3
  • Ierusalimschy, Roberto. Programming in Lua. Rio de Xaneiro: Lua.org, 2006. 252 p. ISBN 85-903798-2-5
  • Jung, Kurt; Brown, Aaron. Beginning Lua Programming. Indianapolis: Wiley Publishing, 2007. 644 p. ISBN 0-470-06917-2

Ligazons externas

[editar | editar a fonte]