Sortie de Lua 5.2.2

Posté par (page perso) . Édité par Mali, Nÿco, catwell, _seb_ et sebas. Modéré par Xavier Claude. Licence CC by-sa
Tags :
31
28
mar.
2013
Communauté

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.

img

C'est l'occasion de faire quelques rappels ou annonces :

  • # Détails

    Posté par (page perso) . Évalué à 3.

    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

    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 (page perso) . É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 (page perso) . É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 (page perso) . Évalué à 8. Dernière modification le 28/03/13 à 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 . Évalué à 4. Dernière modification le 28/03/13 à 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 (page perso) . É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 . Évalué à 1.

        C'est le langage de configuration de mon gestion gestionnaire de fenêtre (awesome).

        Que Julien (papa d'Awesome) considère comme finalement avoir été un mauvais choix.

        • [^] # Re: Autre usage

          Posté par (page perso) . Évalué à 6.

          Que Julien (papa d'Awesome) considère comme finalement avoir été un mauvais choix.

          Des sources ? Pas pour mettre en doute la véracité mais pour avoir des détails sur ce jugement.

          • [^] # Re: Autre usage

            Posté par (page perso) . Évalué à 10. Dernière modification le 28/03/13 à 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 (page perso) . É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:

              • l'embarquement dans une application est compliqué, en tout cas par rapport à QtScript ou boost.python.
              • le développeur se retrouve sans debugger, sans completion, avec un modèle de programmation à inventer à base de metatables.
              • l'api de base est très limitée, il faut donc embarquer beaucoup de choses pour commencer à travailler.

              Au final, on se retrouve avec un langage embarqué plus compliqué, moins puissant et moins performant que le langage embarqueur…

              http://devnewton.bci.im

              • [^] # Re: Autre usage

                Posté par . É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 (page perso) . É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 . Évalué à 4.

                    Quand tu parles de bibliothèque ou framework autour du WM, je pense aussi et surtout à enlightenment qui a poussé la chose assez loin.

                    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).

                    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.

                    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 (page perso) . Évalué à 4.

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

    Comment un langage peut-il être proprietaire en dehors des brevets ?

  • # dans le firmware chdk des appareils photos canon

    Posté par . É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 à ceux qui les ont postés. Nous n'en sommes pas responsables.