Lua
De Wikipedia, la enciclopedia libre
Lua es un lenguaje de programación imperativo y estructurado, bastante ligero que fue diseñado como lenguaje de script con una semántica extendible. En portugués, Lua significa luna.
Tabla de contenidos |
[editar] Historia
Lua fue creado en 1993 por Roberto Ierusalimschy, Luiz Henrique de Figueiredo y Waldemar Celes, miembros del Grupo de Tecnología en Computación Gráfica (Tecgraf) en la Pontificia Universidad Católica de Río de Janeiro . Las versiones de Lua anteriores a la 5.0 fueron distribuidas bajo una licencia similar a la BSD, de la versión 5.0 en adelante se utiliza la licencia MIT, compatible con la GPL.
Lua ha sido usado en muchas aplicaciones comerciales y no comerciales.
[editar] Características
Lua es un lenguaje de extensión, suficientemente compacto para usarse en diferentes plataformas. En lua las variables no tienen tipo, sólo los datos y pueden ser lógicos, enteros, números con punto flotante o cadenas. Estructuras de datos como matrices, conjuntos, tablas hash, listas y registros pueden ser representadas utlizando la única estructura de datos de Lua: la tabla.
La semántica de Lua puede ser extendida y modificada redefiniendo funciones de las estructuras de datos utilizando metatablas. Lua ofrece soporte para funciones de orden superior, colector de basura. Combinando todo lo anterior, es posible utilizar Lua en programación orientada a objetos.
[editar] Funcionamiento interno
Los programas en Lua no son interpretados directamente, sino compilados a código bytecode, que es ejecutado en la máquina virtual de Lua. El proceso de compilación es normalmente transparente al usuario y se realiza en tiempo de ejecución, pero puede hacerse con anticipación para aumentar el rendimiento y reducir el uso de memoria al prescindir del compilador.
También es posible la Compilación JIT utilizado LuaJIT
[editar] Aplicaciones
[editar] Juegos
Debido a que Lua compilado es pequeño, veloz y tiene una licencia permisiva ha ganado seguidores entre los desarrolladores de videojuegos.
- World of Warcraft, donde el usuario tiene la posibilidad de personalizar la interfaz, animación de los personajes y apariencia del entorno.
- Tambien en un mod tipo "sandbox" para Half-Life 2 llamado Garry's Mod, para modificar las armas.
[editar] Otras Aplicaciones
Lua también se ha usado para procesar datos de entrada a sistemas complejos, configurar aplicaciones, controlar hardware y muchos otras cosas.
- En el manejador de ventanas [Ion] es posible utilizar Lua para personalizar la apariencia y extender su funcionalidad.
La lista de usos reportados se puede encontrar aquí.
[editar] Enlaces externos
- Lua.org (en inglés)
- wiki de Lua-users (en inglés)
- LuaForge (en inglés)