Lua (linguaxe de programación)

Lua

Instancia delinguaxe de programación, linguaxe de programaxión funcional, linguaxe de programación orientada a obxectos, linguagem de script (pt) Traducir, linguaxe de programación imperativa, Linguaxe interpretada, Linguaxe compilada e software libre Editar o valor en Wikidata
EpónimoLúa Editar o valor en Wikidata
Influído porC++, CLU, Simple Object Language (en) Traducir, data-entry language (pt) Traducir, SNOBOL, Modula, Modula-2 e Scheme Editar o valor en Wikidata
LicenzaLicenza MIT Editar o valor en Wikidata
Produción
País de orixeBrasil Editar o valor en Wikidata
Características
Sistema operativomultiplataforma Editar o valor en Wikidata
Linguaxe de programaciónC Editar o valor en Wikidata
Paradigma de programaciónprogramação multi-paradigma (pt) Traducir, programación orientada a obxectos, programación funcional, programação procedural (pt) Traducir, programação baseada em protótipos (pt) Traducir e programación imperativa Editar o valor en Wikidata
Extensión de ficheirolua, luna, lunaire e anair Editar o valor en Wikidata
Sistema de tiposdynamic typing, strong typing e duck typing Editar o valor en Wikidata
Datas e localizacións
Creación1993 Editar o valor en Wikidata
Persoas e organizacións
Deseñador/aRoberto Ierusalimschy Editar o valor en Wikidata
DesenvolvedorRoberto Ierusalimschy Editar o valor en Wikidata
Fontes e ligazóns
Páxina WEBlua.org Editar o valor en Wikidata
Repositoriogithub.com… Editar o valor en Wikidata
Wikidata ] C:Commons ]

Lua (do termo galego/portugués lúa) é unha linguaxe de programación lixeira, multiparadigma e deseñada para clientes e sistemas embebidos.[1] Lua é unha linguaxe multiplataforma cun intérprete en ANSI C[2] e unha API relativamente sinxela en C.[3]

Lua deseñouse en 1993 como linguaxe que ampliase aplicacións e fose cubrindo as demandas de personalizacion das aplicacións. Ten as características esenciais da meirande parte das linguaxes procedurais máis sen características específicas de dominio. Ten mecanismos para facilitar engadir funcións ampliar a capacidade da linguaxe. Está deseñada para ser unha linguaxe áxil, portable, extensible e fácil de usar.

Historia

Lua creouna Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes, membros do "Grupo de Tecnoloxía en Computación Gráfica"[4] da Pontifícia Universidade Católica do Rio de Janeiro en 1993. Comezaron a deseñala nun proxecto de Petrobras.

Ata a versión 5.0 Lua tivo unha licenza do grupo BSD pero logo déuselle a licenza MIT, que é compatible coa licenza GPL.

Características

Lua é unha linguaxe de programación lixeira e que pretende ten unha ampla funcionalidade. Lua é unha linguaxe de propósito xeral. Combina programación dinámica e procedural para a descrición de datos, que van en táboas asociativas e cunha semántica extensible. Con iso é linguaxe axeitada para scripting e prototipado áxil.

Lua permite engadir extensións e conectala a diferentes plataformas. As variables non teñen un tipo: só os datos poden ser lóxicos, enteiros, números con punto flotante ou cadeas. A estrutura dos datos realízase empregando como matrices, conxuntos, táboas hash, listas e rexistros. As táboas permiten a combinación destes elementos. A semántica de Lua pódese ampliar con metatáboas, que son funcións que estruturan os conxuntos de datos. Ten un soporte para funcións de orde superior e colleita de lixo. Así, Lua é unha linguaxe que orientada a obxectos.

As aplicacións escritas en Lua interprétanse tras unha compilación e execútanse en máquinas virtuais. Conta cun compilador denominado JIT.[5]

Aplicacións

Lua empregase en boa parte como linguaxe de scripting no desenvolvemento de videoxogos, en parte pola facilidade de embebela e un rendemento de execución satisfactorio. Gañou 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 aplicacións en LuaTeX, que se emprega na compilación de ficheiros na linguaxe TeX. O xestor de xanelas Ion de escritorio empregou tamén esta linguaxe. Fixérono tamén os sistema de paquetes RPM de Conectiva Linux e aplicacións como os simuladores Astronómico Celestia.

Exemplo de código

print "Ola mundo!"

A función factorial recursiva:

function factorial(m)
    if m == 0 then
        return 1
    else
        return m * factorial (m - 1)
    end
end

Notas

  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 (Associação Brasileira de Pesquisa e Inovação Industrial). "Tecgraf/PUC-Rio". 
  5. http://luajit.org (eds.). "LuaJIT - Just-In-Time Compiler (JIT)". 

Véxase tamén

Bibliografía

  • Ierusalimschy, Roberto; Figueiredo, Luiz Henrique de; Celes, Waldemar. Lua Reference manual. Río de Xaneiro: Lua.org, 2006. 103 p. ISBN 85-903798-3-3
  • Ierusalimschy, Roberto. Programming in Lua. Río de Xaneiro: Lua.org, 2006. 252 p. ISBN 85-903798-2-5
  • Jung, Kurt; Brown, Aaron. Beginning Lua Programming. Indianápolis: Wiley Publishing, 2007. 644 p. ISBN 0-470-06917-2

Ligazóns externas

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya