Otros lenguajes de programacion

Solo disponible en BuenasTareas
  • Páginas : 5 (1020 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de junio de 2010
Leer documento completo
Vista previa del texto
LUA
Lua es un lenguaje de programación extensible diseñado para una programación procedimental general con utilidades para la descripción de datos. También ofrece un buen soporte para la programación orientada a objetos, programación funcional y programación orientada a datos. Se pretende que Lua sea usado como un lenguaje de script potente y ligero para cualquier programa que lo necesite. Luaestá implementado como una biblioteca escrita en C limpio (esto es, en el subconjunto común de ANSI C y C++).

Siendo un lenguaje de extensión, Lua no tiene noción de programa principal (main): sólo funciona embebido en un cliente anfitrión, denominado programa contenedor o simplemente anfitrión (host). Éste puede invocar funciones para ejecutar un trozo de código Lua, puede escribir y leervariables de Lua y puede registrar funciones C para que sean llamadas por el código Lua. A través del uso de funciones C, Lua puede ser aumentado para abarcar un amplio rango de diferentes dominios, creando entonces lenguajes de programación personalizados que comparten el mismo marco sintáctico. La distribución de Lua incluye un programa anfitrión de muestra denominado lua, que usa la biblioteca deLua para ofrecer un intérprete de Lua completo e independiente.

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.0en adelante se utiliza la licencia MIT, compatible con la GPL.

EL LENGUAJE.
Las construcciones del lenguaje se explicarán usando la notación BNF extendida usual, en la que {a} significa 0 o más aes, y [a] significa una a opcional. Los símbolos no terminales se muestran en itálica, las palabras clave (keywords) se muestran en negrita, y los otros símbolos terminales se muestran en un tipo deletra de paso fijo (typewriter), encerrada entre comillas simples. La sintaxis completa de Lua se encuentra al final de este manual.

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 comomatrices, conjuntos, tablas hash, listas y registros pueden ser representadas utilizando 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 enprogramación orientada a objetos.

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 delcompilador.
También es posible la Compilación JIT utilizado LuaJIT.

APLICACIONES:

JUEGOS

Debido a que Lua compilado es pequeño, veloz y tiene una licencia permisiva ha ganado seguidores entre los desarrolladores de videojuegos. Algunos usos de Lua:
World of Warcraft, donde el usuario tiene la posibilidad de personalizar casi completamente la interfaz creando añadidos que permiteninformarle de cualquier cosa en su correspondiente carpeta Interface en la qué el WoW.exe tiene el intérprete de lua y ejecuta en su Interface el Addon creado en lua.
También en un mod tipo "sandbox" para Half-Life 2 llamado Garry's Mod, pudiendo modificarlo casi completamente. Gran parte de Garry's Mod está escrito en lua.
También en un mod para Half-Life 2 llamado Fortress Forever que permite...
tracking img