| ||
| Paradigma: | Programado multiparadigma: scripting, imperativo, funkcia, orientita al celoj, bazita en prototipoj | |
|---|---|---|
| Ĝi aperis en: | 1993 | |
| Desegnita de: | Roberto Ierusalimschy Waldemar Celes Luiz Henrique de Figueiredo | |
| Lasta stabila versio: | 5.1.4 (22an de aŭgusto 2008) | |
| Tipo de datumo: | Dynamic, weak ("duck") | |
| Implementaciones: | Lua, LuaJIT, LLVM-Lua, LuaCLR, Nua, Lua Alchemy | |
| Dialektoj: | Metalua | |
| Influita de: | Scheme, SNOBOL, Modula, CLU, C++ | |
| ĝi influis al: | Io, GameMonkey, Squirrel, Falcon, Dao, MiniD | |
| Mastruma sistemo: | Multiplataforma | |
| Licenco de programaro: | MIT License | |
Lua estas lingvo de programado imperativo, strukturita kaj sufiĉe malpeza ol estis desegnita kiel lingvo de script kun semántica extendible. La nomo signifas “lunon” en la portugala kaj galego.
Enhavo |
Lua estis kreita en 1993 por Roberto Ierusalimschy, Luiz Henrique de Figueiredo kaj Waldemar Celes, membroj de la Grupo de Teknologio en Grafika Komputado (Tecgraf) en la Pontificia Katolika Universitato de Rivero de Janeiro . La versioj de Lua antaŭaj al la 5.0 estis distribuitaj sub simila licenco al la BSD, de la versio 5.0 en antaŭen uzas la licencon MIT, kongrua kun la GPL.
Lua estis uzita en multaj komercaj aplikoj kaj ne komercaj, kies numero pliigas ĉiun jaron.
Lua estas lingvo de etendo, sufiĉe kompakta por uzi en malsamaj platformoj. En lua la variabloj ne havas tipon, nur la datumoj kaj ili eblas logikaj, tutaj, numeroj kun punkto flotante aŭ ĉenoj. Strukturoj de datumoj kiel matricoj, aroj, tabuloj hash, lertaj kaj registroj eblas reprezentitaj utlizando la sola strukturo de datumoj de Lua: la tabulo.
La semántica de Lua eblas etendita kaj modifita redifinante funkcioj de la strukturoj de datumoj uzante metatablas. Lua proponas apogon por funkcioj de supera ordono, colector de rubo. Kombinante ĉiu lin antaŭa, ĝi eblas uzi Lua en programado orientita al celoj.
La programoj en Lua ne estas interpretitaj rekte, fato kompilitaj al kodo bytecode, kiu estas ekzekutita en la virtuala maŝino de Lua. La procezo de compilación estas kutime travidebla al la uzanto kaj ĝi realigas en tempo de ekzekuto, sed povas fari kun anticipación por pliigi la rendimenton kaj redukti la uzon de memoro malhavinte de la compilador.
Ĝi ankaŭ eblas la Compilación JIT uzita LuaJIT
Pro tio ke Lua kompilita estas malgranda, rapida kaj ĝi havas licencon permisiva gajnis partianojn inter la desarrolladores de videoludoj. Iuj uzoj de Lua:
Lua ankaŭ uzis por procesi datumojn de eniro al kompleksaj sistemoj, agordi aplikojn, kontroli aparataron kaj multajn aliajn aĵojn.
La lerta de uzoj raportitaj povas trovi tie.
Ankaŭ Lua estas unu el la Lingvoj de programado pli uzitaj por homebrews de la konzolo PSP de Sony pro lia simpleco. Ili iras de aplikoj por aldoni plugins aŭ aliaj programoj facilmente al la konzolo al medioj de bonegaj fenestroj kaj ludoj tre kompletaj. Unu el la paĝoj kiuj recojen ĉiuj ĉi tiuj homebrews estas SceneBeta (Subscricion senpaga por malŝarĝi la homebrews).
Aliflanke estas uzita por la produktoj de la kanada kompanio desarrolladora de programaro Indigo Rose, kiu al través AutoPlay Duona Studio kiu estas programaro de demarŝo de plurmedia aplikoj por KD-DVD ROM, kiel ĝi haltas Setup Factory kiu estas programo por la demarŝo de aplikoj de instalado, ambaŭ por la platformo Microsoft Windows; ĝi devas klarigi ke ĉi tiuj programoj ne estis disvolvitaj en LUA, sed ili uzas LUA por generi kaj krei scripts jam estas por asistanto aŭ por la pericia de la programador. La povo de LUA estas tia kiu la menciita compañia posedas klientojn kiel:
Fonto: [1]