Puntos clave: Lua están un lenguaje de scripting ligero y embebible, conocido por su alta velocidad y sintaxis sencilla, lo que lo hace ideal para aplicaciones como el desarrollo de videojuegos y programas de red.
- Lua soporta múltiples paradigmas de programación, mejorando la flexibilidad de los desarrolladores.
- Se está ampliamente utilizado en juegos y aplicaciones populares, incluyendo World of Warcraft y Adobe Lightroom.
En este artículo, cubriremos los conceptos básicos del lenguaje de programación Lua, incluyendo:
- ¿Qué están
- Componentes principales
- Características principales
- Pros y contras
- utiliza Casos
- Lua vs otros idiomas
- Instalación de Lua en un entorno Windows
- Ponerlo en marcha
Vamos a Obtén adelante.
Lua vs otros idiomas
Instalación de Lua
¿Qué es Lua?
Lua están un lenguaje de scripting robusto, ligero y embebible que soporta múltiples métodos de programación, incluyendo programación procedural, orientada a objetos, funcional y basada en datos.
Como el enfoque principal de Lua están para scripting, rara vez se está usando como lenguaje de programación independiente. En su lugar, se está empleado como lenguaje de scripting que puede integrarse (incrustarse) en otros programas escritos principalmente en C y C++. También soporta otros lenguajes de programación mediante plugins de terceros (NLua/KeraLua para .NET/C#).
Casos populares de utiliza para Lua incluyen:
- Como componente popular en el desarrollo de videojuegos y motores de juegos. Por ejemplo, Warframe, World of Warcraft y CRYENGINE utilizan Lua.
- Como lenguaje de programación en muchos programas de red, como CISCO Systems, Nmap y ModSecurity.
- Como lenguaje de programación en programas industriales como Adobe Lightroom y MySQL Workbench.
- Como una biblioteca que los desarrolladores pueden integrar con sus programas para Permite la funcionalidad de scripting.
Al ser un lenguaje de scripting, Lua no tiene su propia aplicación principal. En su lugar, actúa exclusivamente como una parte integrada de la aplicación anfitriona.
(Explora los lenguajes de programación más populares.)
Cómo funciona Lua
Lua son dos componentes principales:
- El intérprete de Lua
- La máquina virtual (VM) de Lua
Lua no se están interpretado directamente a través de un archivo Lua como otros lenguajes como Python. En su lugar, utiliza el intérprete Lua para compilar un archivo Lua y convertirlo en bytecode. El intérprete Lua está escrito en ANSI C, lo que lo hace altamente portátil y capaz de ejecutarse en multitud de dispositivos.
Normalmente, la compilación se está realizando en tiempo de ejecución. Sin embargo, a veces puede hacerse antes del tiempo de ejecución para aumentar los tiempos de carga. Entonces la máquina virtual Lua ejecutará este bytecode compilado. La arquitectura basada en registros de la máquina virtual Lua se parece mucho a las arquitecturas de hardware reales y aumentará el rendimiento general del programa.
Características principales de Lua
Entonces, ¿qué tiene de especial Lua? Estas son las características definitorias:
Velocidad
Lua están considerado uno de los lenguajes de programación más rápidos entre los lenguajes de scripting interpretados. En particular, Lua puede realizar órdenes de tareas grandes más rápido que la mayoría de los otros lenguajes de programación tanto en benchmarking como en escenarios reales.
Para mayor velocidad, una implementación independiente de Lua llamada LuaJIT utiliza un compilador just-in-time que hace que Lua sea aún más rápido.
Tamaño
Lua tiene una presencia considerablemente menor que otros lenguajes de programación, con su código fuente completo y documentación que ocupan apenas 1,3 MB. El intérprete de Lua con todas las bibliotecas estándar toma 278K, mientras que la biblioteca completa de Lua solo toma 466K.
Este tamaño reducido está ideal para integrar Lua en múltiples plataformas, desde dispositivos embebidos hasta enormes motores de juego, donde cada byte está valioso.
Portabilidad e integrabilidad
Con su pequeño tamaño, la portabilidad de Lua está casi ilimitada; cualquier plataforma que soporte el compilador C estándar puede ejecutar Lua de fábrica. La velocidad y el tamaño de Lua se convierten en grandes ventajas al integrar Lua con otro lenguaje de programación. Esto se debe a que pueden ayudar a aumentar la velocidad del programa sin dificultar ninguna funcionalidad existente.
Es importante destacar que Lua no requiere reescrituras complejas para ser compatible con otros lenguajes de programación. Lua puede usarse con lenguajes de programación principales como C, C++, Java, C#, etc. y otros lenguajes de scripting como Perl y Ruby, lo que amplía aún más su usabilidad.
Simplicidad
Lua están simple en su diseño pero proporciona funcionalidades potentes. Una de las características principales de Lua están los meta-mecanismos que Permite a los desarrolladores implementar funcionalidades, en lugar de proporcionar un montón de funciones directamente en el propio lenguaje.
Lua también incluye recogida incremental de basura, reduciendo el uso de memoria y la complejidad de la implementación. Su función de sandboxing puede usarse para aislar funciones y recursos. Esto aumenta la seguridad del programa y proporciona corutinas para la multitarea.
Todas estas funciones tienen una sintaxis sencilla y un formato fácilmente comprensible para que cualquiera pueda aprender Lua y utilizarla en sus programas.
Licencia
Lua están software libre y de código abierto distribuido bajo la licencia MIT. Esto significa que cualquiera puede utilizar Lua para cualquier propósito sin pagar licencias ni regalías.
Ventajas y desventajas
Como cualquier idioma, el Lua tiene sus pros y sus contras.
Ventajas de Lua
- Integración sencilla de aplicaciones. Su alto rendimiento y tamaño reducido Haz fácil integrar Lua en aplicaciones.
- Sintaxis sencilla. Estructura sintáctica relativamente sencilla con unas 20 palabras clave dedicadas, lo que ayuda a adentrarse fácilmente en programación en Lua.
- Flexibilidad. Sin bibliotecas estándar, te puede personalizar Lua para satisfacer cualquier necesidad.
- La compatibilidad multiplataforma y el soporte para el compilador C estándar permiten que Lua funcione prácticamente en cualquier lugar.
- Las variables dinámicas en Lua permiten definir variables sin definir tipos, y el tipo se está determinado automáticamente en tiempo de ejecución.
- Depuración fácil. Biblioteca de depuración simple y potente.
- Mucha documentación. Documentación completa para Obtén proyectos de Lua que funcionen rápidamente y la comunidad activa.
Desventajas de Lua
- El soporte limitado para la gestión de errores puede llevar a tiempos de depuración más largos para identificar los errores exactos en un script de Lua.
- Todas las variables son creadas como variables globales (alcance global), lo que puede provocar errores en la asignación de variables.
- Soporte limitado para la coincidencia de patrones.
Cuándo utilizar Lua
Como lenguaje de scripting sin limitaciones importantes, te puede utiliza Lua para cualquier escenario, desde un simple script backend en un servidor web hasta desarrollo de juegos complejos.
Lua están muy presente en el desarrollo de videojuegos, ya que puede usarse para Crea funcionalidad sin contaminar el rendimiento general y manteniendo todo separado.
Otra área en la que Lua destaca están la programación embebida, donde el tamaño y el rendimiento son preocupaciones principales. Lua puede usarse en aplicaciones cotidianas para extender la funcionalidad existente o Crea nuevas funciones y funcionalidades.
Algunos juegos, programas y servicios populares que utilizan Lua son Dark Souls, Fable II, Garry's Mod, Wireshark, VLC, Apache y los servidores web de Nginx.
¿Cómo se compara Lua con otros idiomas?
Aquí tienes un vistazo a las diferencias entre el lenguaje general de programación de alto nivel Python, el Java orientado a objetos de alto nivel y el Javascript enfocado en la web, todo en comparación con Lua.
Ahora, veamos Ve cómo configurar un entorno de desarrollo en Windows. Primero, instala Lua.
Paso 1
Navega a la página de descarga Lua.org. Aquí usaremos un binario precompilado para instala Lua en Windows. Así que haz clic en "Obtén un enlace binario" como se muestra en la captura de pantalla de abajo.
Paso 1
Haz clic en "Descargar" en la página de LuaBinaries y te redirigirás a una página con una lista de binarios precompilados. Selecciona la versión adecuada de esa lista.
Usaremos la última versión de Lua para Windows 64 bits.
Esto dirigirá al usuario a una página de SourceForge, donde se descargará el binario.
Mueve el archivo Zip descargado a cualquier ubicación para almacenar los binarios de forma permanente.
Aquí, usaremos la ubicación "D:\Program Files\Lua". Después de mover el archivo Zip, simplemente extrae su contenido usando cualquier utilidad de compresión (por ejemplo: Explorador de Windows, 7zip, WinRar).
Paso 4
Necesitamos añadir la ubicación de los binarios de Lua al PATH del sistema para que Windows pueda llamar a Lua desde cualquier parte del sistema.
Paso 4.1. Navega a Variables de entorno. (Abre el Explorador de Windows, haz clic derecho en Este PC y selecciona propiedades.)
Paso 4.2. Haz clic en "Configuración avanzada del sistema" en la pantalla que aparece y luego haz clic en "Variables de entorno".
Paso 4.3. En la sección de variables del sistema, añade la ubicación de los ejecutables de Lua como una nueva entrada para la variable Ruta.
Paso 5
Comprueba si el sistema identifica Lua abriendo un símbolo de comandos o una ventana de PowerShell y escribiendo el comando Lua (Lua con la versión - lua54).
Configuración de un entorno de desarrollo Lua
Ahora que hemos instalado Lua en el sistema, necesitamos un entorno de desarrollo para seguir adelante con la programación. Para eso, podemos elegir entre:
- Un IDE dedicado a Lua como ZeroBrane Studio
- Un IDE general como VSCode
Usaremos VSCode para esta ocasión.
Vamos a Crea un archivo llamado "lua_basic.lua" en VSCode y guardaremos ese archivo en la ubicación deseada. Luego escribiremos algunas sentencias print allí, como las siguientes.
print("Hello Lua")
print(10*10)
print("We have multiplied 10 by 10")
Nuestro programa Lua necesita ser compilado antes de ejecutarse, así que necesitamos Crea una Tarea de Compilación. Para ello, haz clic en el Menú Terminal, luego en Ejecutar Tarea Construida y selecciona la opción Configura Tarea de Compilación.
(Habrá diferentes plantillas de tareas de compilación dependiendo de la configuración de VSCode. Selecciona "Crea tasks.json de plantilla" y finalmente la opción "Otros" para Define una tarea de construcción personalizada.)
Ejecutar Construcción de Tarea
Configura la tarea de compilación
Crea tasks.json de plantilla
Otros
Configura la tarea de compilación
Crea tasks.json de plantilla
Otros
Paso 2
Paso 2
Paso 2.1. Añadiremos el siguiente bloque de código para configurar la tarea. En ese bloque de código, hemos definido una tarea llamada "Run Lua" que se ejecutará en el shell con el comando "lua54". Ese comando tomará el archivo actual como argumento y realizará una operación de compilación.
task.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Run Lua",
"type": "shell",
"command": "lua54",
"args": [
"${file}"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
task.json
Paso 3
Paso 3
Abre de nuevo el archivo "lua_basic.lua". Luego vuelve a ir a "Terminal" y haz clic en "Ejecutar tarea de compilación" o utiliza el acceso directo Ctrl+Shift+B.
Esto compilará el archivo y nos proporcionará la salida.
¡Eso es todo! Ahora tenemos un entorno de desarrollo Lua funcional que puede usarse para Crea scripts Lua. Podemos utilizar el manual oficial de referencia de Lua para explorar más el lenguaje Lua.
Lua están poderoso
Lua están un lenguaje de scripting potente que tiene un potencial ilimitado para añadir funcionalidad a cualquier programa en multitud de plataformas para adaptarse a cualquier utiliza caso.
Lecturas relacionadas
Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.