Lua est un langage de script libre, réflexif et impératif. Lua est conçu de manière à pouvoir être embarqué au sein d'autres applications afin d'étendre celles-ci (pour la configuration du WM Awesome par exemple). Écrit en langage C Ansi 89, il profite de la compatibilité que possède ce dernier à s'interfacer avec un grand nombre de langages pour s'intégrer facilement dans la plupart des projets.
Il est particulièrement apprécié dans le monde du jeu vidéo (WoW) et a été porté dernièrement sur la console portable de Sony, la PSP. Il sert à étendre les possibilités de LaTeX dans sa version moderne LuaLaTeX et permet ainsi d'introduire des lignes de programme Lua dans un fichier *.tex
.
Le 27 mars, Lua 5.2.2 a été publié. Il s'agit de la troisième version de l'interpréteur de référence du langage Lua 5.2. Elle ne contient que quelques corrections de bogues et autres modifications mineures.
C'est l'occasion de faire quelques rappels ou annonces :
- la troisième édition du livre Programming in Lua qui couvre Lua 5.2 est disponible depuis début janvier 2013
- une liste de diffusion francophone LuaFr vient de voir le jour
- le livre Le guide de Lua et ses applications écrit par quatre auteurs francophones a été publié fin 2012
Aller plus loin
- Le site officiel de Lua (353 clics)
- Présentation de Lua et son écosystème à l'OSDC.fr 2011 (PDF) (154 clics)
- Où est utilisé Lua ? (260 clics)
# Détails
Posté par Sam E. (site web personnel) . Évalué à 3.
Pour plus de précisions :
Lua est utilisé pour la création d'addon permettant de modifier l'interface du jeu World of Warcraft.
Pour les consoles, lua peut en tout cas être utilisé pour la création d'homebrew sur PSP (et c'est pas récent), sur PS3 et sur DS.
[^] # Re: Détails
Posté par Kekun (site web personnel, Mastodon) . Évalué à 4.
Il est aussi utilisé par LÖVE, un très sympatique framework pour faire des jeux vidéo 2D.
# Autre usage
Posté par psychoslave__ (site web personnel) . Évalué à 9.
C’est aussi le langage de script qui a été retenu par la fondation wikimedia pour créer des modèles avancés. C’est pour moi la raison pratique numéro un de m’y mettre.
https://blog.wikimedia.org/tag/lua/
[^] # Re: Autre usage
Posté par Benoît Sibaud (site web personnel) . Évalué à 8. Dernière modification le 28 mars 2013 à 13:11.
Et aussi un des moyens de faire des dissectors Wireshark pour l'analyse d'un protocole réseau.
http://www.wireshark.org/docs/wsug_html_chunked/wsluarm.html
[^] # Re: Autre usage
Posté par barmic . Évalué à 4. Dernière modification le 28 mars 2013 à 15:53.
C'est le langage de configuration de mon gestion gestionnaire de fenêtre (awesome).
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Autre usage
Posté par catwell (site web personnel) . Évalué à 4.
Lua est présent dans bien plus de logiciels que ce que les gens pensent en général. Par exemple : dans VLC, dans Redis, dans le noyau de NetBSD… http://files.catwell.info/presentations/2013-02-human-talks-lua/fr.html pour plus d'infos :)
[^] # Re: Autre usage
Posté par Mme Michu-cide . Évalué à 1.
Que Julien (papa d'Awesome) considère comme finalement avoir été un mauvais choix.
[^] # Re: Autre usage
Posté par Guillaume Denry (site web personnel) . Évalué à 6.
Des sources ? Pas pour mettre en doute la véracité mais pour avoir des détails sur ce jugement.
[^] # Re: Autre usage
Posté par Guillaume Denry (site web personnel) . Évalué à 10. Dernière modification le 28 mars 2013 à 22:51.
Intrigué, j'ai un peu fouillé moi-même sur le grand Ternet, et je suis tombé sur ces deux articles :
http://julien.danjou.info/blog/2011/why-not-lua
http://julien.danjou.info/blog/2008/rants-about-lua
Où Julien Danjou détaille les problèmes techniques sur lesquels il est tombé au sujet de ce langage, et pourquoi il ne le recommanderait pas forcément (ou en tout cas systématiquement) comme langage de script embarqué (pas de paradigme, de compteur par référence, utilisation périlleuse de l'API basée sur une pile, etc)
[^] # Re: Autre usage
Posté par devnewton 🍺 (site web personnel) . Évalué à 5.
J'ai fait pas mal de lua à une époque et je suis assez d'accord avec lui, lua est très bien sur le papier, mais en pratique:
Au final, on se retrouve avec un langage embarqué plus compliqué, moins puissant et moins performant que le langage embarqueur…
Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.
[^] # Re: Autre usage
Posté par barmic . Évalué à 4.
Outre cela je remarque surtout l'opposition embarqué/extension. Grosso modo ce qu'il est expliqué c'est qu'il vaut mieux faire comme xmonad ou dwm que comme awesome, c'est à dire proposer une bibliothèque (ou un framework ?). Je suis assez d'accord.
Il reste une troisième voie : proposer une API au travers d'un système de fichier virtuel comme Plan9. C'est ce que fait wmii. Je trouve que c'est intéressant.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Autre usage
Posté par Guillaume Denry (site web personnel) . Évalué à 3.
Quand tu parles de bibliothèque ou framework autour du WM, je pense aussi et surtout à enlightenment qui a poussé la chose assez loin.
Mais de manière générale, et en voulant être prudent (car je ne connais pas bien le monde des WM) il me semble naturel et sain de factoriser dès que possible les différents besoins liés à un WM au sein d'une lib native pour pouvoir être éventuellement utilisée dans un script utilisateur et ne pas garder des gros morceaux de logique dans le script, même si c'est tentant de vouloir garder un côté souple et dynamique dans le système de script.
Typiquement, on parlait de guake/yakuake dans un autre journal, et écrire un script pour permettre l'affichage d'une console à la quake pour rendre n'importe quelle appli, c'est sympa, ça montre que le WM est assez souple pour le faire, mais il me semblerait plus sain d'enrichir la lib d'interfaçage avec le WM pour ça. Après, y'a aussi la problématique d'une lib et d'un core qui deviennent de plus en plus gros. Le fait qu'avec des extensions scriptées qui contiennent les morceaux de logique, on garde le core WM relativement léger…
[^] # Re: Autre usage
Posté par barmic . Évalué à 4.
Tu as un lien là dessus ? À moins que tu parle des EFL, mais c'est pas vraiment là même chose les EFL sont plus comme Qt pour KDE et Gtk/Glib pour Gnome.
Avec xmonad, le wm est une API et c'est toi qui choisi de mettre par exemple tes propres callback. C'est le genre de fonctionnement où tu as une méthode qui permet de placer telle fenêtre sur telle bureau (bref manipuler le WM). C'est ce que l'on trouve avec awesome, mais c'est en mode embarqué (c'est awesome qui interprète ton code) alors que xmonad le fait en mode extensible (c'est ton programme qui exécute le code du WM).
Je n'ai pas suivi cette discussion (si tu as un lien ça m'intéresse), mais c'est à mon avis une subtilité dans le cadre d'un WM extensible. Le WM a choisi le niveau d'abstraction qu'il propose. Soit tu préfère réencapsuler cette API pour avoir quelque chose de plus haut niveau, soit c'est déjà fait. Rien oblige à avoir une bibliothèque super lourde, tu peut en créer une série et tu ne paie que ce dont tu te sert.
Pour moi un très gros avantage c'est que le code du WM est écris en pensant bibliothèque et API, c'est donc plus facile à tester.
(Pour le moment je reste sur awesome parce qu'il me suffit (il est très complet) et que j'ai pas encore eu le courage de passer à quelque chose d'autre)
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
# Re:Communauté —Sortie de Lua 5.2.2
Posté par Juke (site web personnel) . Évalué à 4.
Comment un langage peut-il être proprietaire en dehors des brevets ?
[^] # Re:Communauté —Sortie de Lua 5.2.2
Posté par Gilles G. . Évalué à 6.
L'implémentation de référence est libre.
D'ailleurs, la deuxième implémentation de référence (LuaJIT) est libre aussi!
# dans le firmware chdk des appareils photos canon
Posté par Guy . Évalué à 3.
On le trouve aussi dans CHDK, le firmware additionnel (libre) des appareils photos canon. lua permet d'écrire des scripts qui s'exécutent sur l'appareil photo, il remplace uBasic.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.