Journal Lua, ca assure

Posté par  (site web personnel) .
Étiquettes : aucune
0
22
mai
2005
Dans le cadre d'yzis (http://www.yzis.org),(...) je suis en train d'ecrire du code lua et d'embarquer une partie dans yzis. Je suis vraiment impressionne par la qualite de ce langage. Ca me rappelle un peu la philosophie unix par certains aspects.

Lua a un coeur extremement simple : des tables, des nombres, des strings, des booleens, des flottants et des fonctions. C'est du classique. La ou ca assure, c'est qu'a partir de ca, on peut faire des objets. Les tables servent a la fois aux listes et aux dictionnaires. Avec une adaptation syntaxique, elles peuvent servir d'objet. Avec un mecanisme de metatable, on peut meme faire des trucs vraiment sympa comme de l'heritage, ou bien remplacer des operateurs.

Le concepteur a donc reussi a faire un langage avec seulement quelques concepts, mais qui est tres puissant. Comme le langage est simple, il est relativement leger et s'embarque facilement. Ecrire du code C/C++ accessible en lua est vraiment facile.

Bref, je ne regrette pas ce choix pour yzis et je le recommande chaudement a quiconque veut rendre une application scriptable.
  • # URL

    Posté par  (site web personnel) . Évalué à 3.

    L'url est mauvaise dans ton journal : http://www.yzis.org(...)

    Sinon pendant que tu y es, tu pourrais pas nous faire une petit topo sur le développement de yzis ? ou ça en est ? est qu'il y a des contributeur pour l'interface GNOME/GTK ?

    Yzis me paraît un projet très intéressant si on peut gagner en intégration dans les Desktop (genre rien que le copier coller ce serait génial), mais bon je suis plutôt "GNOME/GTK" que Qt :)

    https://damien.pobel.fr

    • [^] # Re: URL

      Posté par  (site web personnel) . Évalué à 8.

      Yzis fait son petit bonhomme de chemin.

      Il compile a la fois sur Qt3 et sur Qt4. Ce matin, panard a commence a ajoute le support pour le folding. Cote scripting, je viens de rajouter le support des regexp facon perl (une simple couche d'interfacage avec les excellentes regexp Qt).

      Mikmak fait le portage Qt3 -> Qt4 de KDE donc il a un peu moins de temps a consacrer a yzis.

      Quelqu'un a lance une discussion sur comp.editor a propos de yzis et de lua. Au passage, une ou deux personnes ont mentionne des scripts qui leur paraissaient cle pour vim: vimoutliner et vst. Donc on releve le defi de les porter rapidement. C'est pour ca que je rajoute les regexp et j'imagine que c'est ce qui a motive panard a ajouter le folding. Normalement, je devrai arriver a du code deux fois plus lisible, et tout aussi fonctionnel d'ici quelques semaines.

      Cote Gnome, mikmak avait commence un petit truc, mais il lui manque la motivation. Il faudrait qu'un gnomeux prenne le truc en main. Il faut aussi passer l'etape psychlogique d'avoir un programme qui link a la fois avec Gtk et avec Qt, et qui utilise un certain nombre de classes Qt de base (regexp, listes, boucle d'evenement, ...). Mais si on franchit ce seuil psychologique, on peut vraiment faire qqch de sympa.

      On note qu'il y a de plus en plus de bug report qui arrivent, donc de plus en plus de gens qui utilisent yzis au quotidien, notamment en tant que kpart dans kdevelop. C'est a dire que il est suffisamment stable pour etre utilise au quotidien.

      Avec Qt4, on devrait avoir une version windows GPL, ainsi qu'une version de libyzis qui ne depend que des libs non graphique de Qt.

      Il y a encore du boulot, mais quand je vois le temps qu'il a fallu pour avoir toutes les fonctionnalites actuelles de vim, et le temps qu'on met pour les refaire dans yzis, je sais qu'on est sur la bonne voie.

      Ma prediction, c'est que d'ici 2007, yzis aura le meme niveau de fonctionnalite que vim.

      Et tous les coups de main sont les bienvenus. Fan de vi, contribuez a cet excellent moteur vi re-utilisable dans tous vos programmes.
  • # Un autre petit langage

    Posté par  (site web personnel) . Évalué à 3.

    Bien sympathique également, tout frais tout jeune (créé en 2002) :

    http://www.iolanguage.com/(...)

    Le site web est à l'image du langage : simple, clair, efficace, léger. :-)
  • # ion

    Posté par  (site web personnel) . Évalué à 3.

    Le (meilleur) window manager (de l'univers) ion est scriptable en lua. C'est vraiment facile a apprendre, toute la grammaire du langage tient en 1 page ...

    Donc, plutôt que de créer un nouveau langage de script pour chaque application que vous utilisez, mesieurs les développeurs, n'hésitez-pas à réutiliser l'existant !
    • [^] # Re: ion

      Posté par  . Évalué à 4.

      Je pensais comme toi (pour Ion) et j'ai récemment découvert deux petits joujoux fort sympathiques: stumpwm et eclipse.

      Ce sont deux gestionnaires de fenêtres écrit en pur Common Lisp (qui est le meilleur langage de l'univers). Stumpwm ressemble à s'y méprendre à un ratpoison. La grosse différence pour moi avec Ion, je connais déjà le Lisp et donc pas besoin de me prendre le choux avec LUA (aussi marrant soit-il).

      /me - intégriste du Lisp
      • [^] # Re: ion

        Posté par  (site web personnel) . Évalué à 2.

        Tu as oublié dans ta signature "-- webmaster de fvwmfr.org" ;-)
        • [^] # Re: ion

          Posté par  . Évalué à 1.

          Nan ! FVWMFR.ORG n'est plus :( Je suis en grande partie responsable de cet echec du fait de mon manque d'implication dans cette affaire.

          Néanmoins, je t'invite à tester stumpwm, au moins pour voir. Tu seras surpris.
    • [^] # Re: ion

      Posté par  . Évalué à -2.

      Je pensais comme toi (pour Ion) et j'ai récemment découvert deux petits joujoux fort sympathiques: stumpwm et eclipse.

      Ce sont deux gestionnaires de fenêtres écrit en pur Common Lisp (qui est le meilleur langage de l'univers). Stumpwm ressemble à s'y méprendre à un ratpoison. La grosse différence pour moi avec Ion, je connais déjà le Lisp et donc pas besoin de me prendre le choux avec LUA (aussi marrant soit-il).

      /me - intégriste du Lisp

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.