Lua

Lua
Logo.

Date de première version 1993
Paradigme Multi-paradigme : procédural, orienté objet à prototype et fonctionnel
Auteur Luiz Henrique de Figueiredo, Roberto Ierusalimschy et Waldemar Celes
Dernière version 5.4.7 ()[1]Voir et modifier les données sur Wikidata
Typage dynamique, faible
Influencé par BASIC, C, C++
A influencé Micro Lua DS
Implémentations Lua, LuaJIT, LLVM-Lua, LuaCLR, Nua, Lua Alchemy, MicroLua,

Mochalua, Jill, luaj, LuaRT

Écrit en CVoir et modifier les données sur Wikidata
Système d'exploitation Multiplate-forme
Licence Licence MIT
Site web lua.org
Extension de fichier lua, luna, lunaire et anairVoir et modifier les données sur Wikidata

Lua est un langage de script libre, réflexif et impératif.

Créé en 1993, il est conçu de manière à pouvoir être embarqué au sein d'autres applications afin d'étendre celles-ci. Lua (du portugais : Lua [ˈlu.ɐ], au Brésil : [ˈlu.a], signifiant « Lune »[2]) a été développé par Luiz Henrique de Figueiredo, Roberto Ierusalimschy (en) et Waldemar Celes, membres du groupe de recherche TeCGraf, de l'université pontificale catholique de Rio de Janeiro au Brésil.

L'interpréteur Lua est écrit en langage C ANSI strict, et de ce fait est compilable sur une grande variété de systèmes. Il est également très compact, la version 5.0.2 n'occupant que 95 ko à 185 ko selon le compilateur utilisé et le système cible. Il est souvent utilisé dans des systèmes embarqués tels qu'OpenWrt[3] où cette compacité est très appréciée. Il profite de la compatibilité que possède le langage C avec un grand nombre de langages pour s'intégrer facilement dans la plupart des projets. Il intègre un ramasse-miettes.

Il est particulièrement apprécié pour l'embarqué, le développement réseau et les jeux vidéo.

Le Lua est utilisé dans des jeux vidéo comme : Minetest, Transformice, World of Warcraft, Roblox, Garry's Mod, Onset, ComputerCraft (mod de Minecraft), Multi Theft Auto (mod multijoueur de Grand Theft Auto: San Andreas), FiveM (mod multijoueur de Grand Theft Auto V), Factorio, Project Zomboid, nanos world[4], ainsi que les moteurs de jeu vidéo tels que le SourceEngine, CryENGINE, LÖVE, ou encore les Fantasy consoles, tel que Pico-8.

Il est également utilisé au niveau réseau comme hook sur Apache, Lighttpd (par défaut), Nginx (via OpenResty), dans les routeurs Cisco, dans l'analyseur de paquets Wireshark, l'antispam Rspamd, l'autocommutateur téléphonique privé Asterisk (optionnel), pour les scripts de MediaWiki.

  1. a et b « [ANN] Lua 5.4.7 now available », (consulté le )
  2. (en) « About », sur lua.org.
  3. Luci : LuCI : OpenWrt Configuration Interface, openwrt, (lire en ligne).
  4. nanos world™.

Developed by StudentB