sirve - ¿Tiene Lua un futuro como lenguaje de scripting de propósito general?
que es python y para que sirve (9)
Creo que la gran característica de Lua es que es muy extensible. Es muy fácil agregar el intérprete Lua a un programa propio (por ejemplo, uno escrito en C, C ++ u Obj-C) y con solo unas pocas líneas de código, puede darle a Lua acceso a cualquier recurso del sistema que pueda pensar . Por ejemplo, Lua no ofrece ninguna función para hacer xxx. Escribe uno y ponlo a disposición de Lua. Pero también es posible al revés. Escriba su propia extensión Lua en el idioma de su elección (una que sea compilable), compílela en una biblioteca nativa, cargue la biblioteca dentro de Lua y puede usar la función.
Dicho esto, Lua podría no ser la mejor opción como lenguaje independiente de plataforma cruzada. Pero Lua es un excelente lenguaje para agregar soporte de secuencias de comandos a su aplicación de forma cruzada (¡si su aplicación es multiplataforma, mejor!). Creo que Lua tendrá un futuro y creo que se puede esperar que este idioma gane popularidad constantemente a la larga.
Como ya se discutió en " Lua como un lenguaje de scripting de propósito general ", Lua actualmente probablemente no sea el mejor lenguaje de scripting para el entorno de escritorio.
Pero, ¿qué piensas del futuro? ¿Se volverá tan popular Lua que pronto habrá suficientes bibliotecas para poder usarlo como Python, Ruby o algo similar?
¿O simplemente permanecerá en su nicho de WoW y eso es todo?
¿Uh? Yo diría que WoW es un nicho en el ecosistema de Lua ... El mundo de Lua no gira en torno a WoW, hay muchas aplicaciones, algunas grandes como Adobe Lightroom (para tomar un juego no), usando Lua.
Lua es inicialmente un lenguaje de scripting, en el sentido inicial, es decir. hecho para ser incrustado en una aplicación para guiarlo. Pero también está diseñado como un lenguaje extensible, por lo que veremos progresivamente más y más enlaces de varias bibliotecas para diversos fines.
Pero nunca obtendrás una gran distribución oficial con baterías incluidas, como Python o Perl, porque simplemente no es la filosofía de los autores.
Lo cual no impide que otras personas realicen distribuciones que incluyen muchas funciones listas para usar (para Windows, en particular, donde es difícil crear el software).
Muchas personas ya lo usan para scripts generales a nivel de sistema, aplicaciones de escritorio y demás.
Creo que tiene un gran futuro, muchos proyectos están empezando a adoptarlo por su simplicidad y utilidad.
Ejemplo: Awesome WM (Administrador de ventanas)
El proyecto lanzó recientemente la versión 3, incorporando un nuevo sistema de configuración completamente escrito en Lua. Le permite escribir literalmente su archivo de configuración como un programa, bucles, booleanos, estructuras de datos. Personalmente, me encanta la sintaxis y la flexibilidad de dicho sistema, creo que tiene un gran potencial.
No me sorprendería si se volviera más popular en el futuro.
Brian G
Realmente me gusta como un lenguaje incrustado. Es pequeño, muy fácil de usar e integrar y, en general, hace lo que necesito desde el primer momento. También es lo suficientemente similar a la mayoría de los idiomas que nunca ha sido realmente un problema para mí. También me gusta lo fácil que es redefinir y agregar funciones básicas y palabras clave al lenguaje para adaptarse a cualquier necesidad que tenga mi aplicación.
Lo he usado en el área de WoW, pero también lo he encontrado útil como lenguaje de scripting genérico para una cantidad de aplicaciones diferentes en las que he trabajado, incluso como un tipo de activador de base de datos. Me gustan Ruby y Python y otros lenguajes de scripting con más funciones, pero no son tan convenientes para incrustar en aplicaciones pequeñas para brindarles a los usuarios más opciones para personalizar sus entornos.
Supongo que la respuesta comienza con ''Depende de cómo quieras usarlo ...''.
Si está escribiendo la aplicación comercial común (extrae los datos de la base de datos, muestra los datos en una página web o una ventana, guarda los datos en la base de datos), Lua ya tiene lo que necesita.
El Proyecto Kepler contiene recursos para el desarrollo web. Eche un vistazo a sus módulos para ver algunas de las bibliotecas disponibles: hay acceso a red, MVC, DBMS, XML, zip, WSAPI, documentos ...
Como aplicación web de ejemplo, echa un vistazo a Sputnik .
Para la interfaz de usuario de escritorio, hay ganchos wxLua - Lua para wxWidgets .
ORM brilla por su ausencia, pero eso no impidió que las personas desarrollaran en otros idiomas antes de que ORM estuviera disponible.
Si está buscando bibliotecas especializadas, científicas, multimedia, de seguridad, no cuente a Lua antes de verificar LuaForge .
Cuando se trata de eso, no hay nada en el diseño de Lua que impida el uso de propósito general. Simplemente resulta ser pequeño, rápido y fácil de insertar ... para que la gente lo haga.
Warhammer Online y World of Warcraft lo usan para su idioma de complemento, creo.
¡Creo que hace calor! ¡No soy bueno en eso!
sentirse cómodo como un idioma de shell no tiene nada que ver con ser un gran lenguaje de propósito general.
yo, por mi parte, no lo use incrustado en otras aplicaciones; escribo mis aplicaciones en Lua, y cualquier cosa ''extra'' es una biblioteca de propósito especial, ya sea en Lua o en C.
Además, ser ''popular'' no es tan importante. en la lista de usuarios de Lua periódicamente aparece alguien que dice "¡Lua no será popular a menos que haga X!", y la respuesta habitual es: "¡genial !, ¡escríbelo!" o "ya discutido y rechazado".
Hay más y más bibliotecas para Lua.
Si eres un usuario de Windows, mira Lua para Windows . Viene con "pilas incluidas" (wxLua, LuaCURL, LuaUnit, getopt, LuaXML, LPeg ...).
¡Muy útil!
Es 2017, 9 años después de que esta pregunta se hizo por primera vez, y lua ahora se está utilizando mucho en el campo del aprendizaje automático debido a la biblioteca Torch
.