Journal : De l'utilité d'un langage de script comme langage d'extension d'un logiciel.
Posté par Nicolas Boulay () le 05 septembre 2007
Je me pose une question méta physique ce soir.
Quel est l'interet des langages de script intégré à certain logiciel ?
Je vois souvent lua qui est vanté pour sa simplicité d'intégration. TCL parfois pour le shell qu'il peut apporter. Je sais que Perl peut aussi être embarqué.
Je vois souvent que les comportements des objets dans des jeux video sont scriptés avec ces langages.
Je me demande quel est l'interet de tel extension. Quel avantage d'utiliser 2 langages au lieu d'utiliser le langage d'origine et de jouer avec des sortes de plugins ?
Un langage de script est un langage de plus à maitriser et de plus, il est souvent bien plus lent que le langage d'origine.
Bref, je demande à ceux qui ont déjà fait ce choix de me le commenter. Quelles sont les avantages, ils ont réellement vu ? quels inconveniants ? j'aimerais un peu de retour d'expérience.
Quel est l'interet des langages de script intégré à certain logiciel ?
Je vois souvent lua qui est vanté pour sa simplicité d'intégration. TCL parfois pour le shell qu'il peut apporter. Je sais que Perl peut aussi être embarqué.
Je vois souvent que les comportements des objets dans des jeux video sont scriptés avec ces langages.
Je me demande quel est l'interet de tel extension. Quel avantage d'utiliser 2 langages au lieu d'utiliser le langage d'origine et de jouer avec des sortes de plugins ?
Un langage de script est un langage de plus à maitriser et de plus, il est souvent bien plus lent que le langage d'origine.
Bref, je demande à ceux qui ont déjà fait ce choix de me le commenter. Quelles sont les avantages, ils ont réellement vu ? quels inconveniants ? j'aimerais un peu de retour d'expérience.
> Lire le journal (27 commentaires, moyenne: 3,1).
Vous avez demandé le commentaire #864173.



recompilation...
Pour avoir participé à l'élaboration d'un soft comportant scripting _et_ plugins :
Le script permet surtout de modifier le fonctionnement du programme
- sans recompilation
- à l'exécution
Le premier point est celui auquel on pense le plus. Le deuxième peut être primordial dans certains cas où l'utilisateur doit faire lui-même ses scripts et dans ce cas la compilation est impossible puisqu'on veut pmême pouvoir changer à la volée, pendant l'exécution le fonctionnement initial
Les plugins (qui peuvent aussi être des scripts...) sont la pour étendre le fonctionnement (rajouter des fonctionnalités bien déféinies)
Le script est là pour agir sur les objets créés
On utilisait aussi lua. Pourquoi ? Surtout car il est assez simple a intégrer dans un programme C++
Pour moi l'inconvénient d'avoir plusieurs langages est assez faible. D'une part c'est parfois des personnes différentes qui travaillent sur les langages différents (sauf ceux qui font la glue au milieu...). D'autre part, il est pour moi important de justement découper en couches les différents éléments d'un soft et si on doit utiliser différents langages c'est encore mieux.
Le cas classique est le noyau du programme écrit en c/c++ avec un accès à une base de donnée (sql) et dont la couche graphique est géré par un langage de script (ruby, python, lua, ...)
Simplement car chaque langage a son domaine de prédiléction et qu'il est souvent une perte de temps importante de vouloir tout faire dans un seul langage
[^]Re: recompilation...
Pourquoi une perte de temps ? Est-ce que avec autant de langage différent, cela ne tourne pas à l'usine à gaz ?
Quel est l'avantage d'éviter la compilation, a part taper une commande de plus avant un lancement ?