Programmez un Tetris en Java 360 pages PDF pour apprendre à votre rythme. Développez des jeux vidéo en Java. www.jdevmaker.com |
Ce document est sous un contrat Creative Commons.
Le langage de script Lua est un langage procédural, apparenté au Pascal (il n'est pas non plus très éloigné du JavaScript et du basic, tout au moins en ce qui concerne sont utilisation avec le filtre Gluas). Il possède toutes les primitives nécessaires à l'élaboration de programmes complexes bien que son objectif principal consiste à fournir des services de paramétrage à d'autres applications. C'est un langage assez accessible, encore une fois pour ce que nous allons lui demander.
Ci-dessous un extrait de http://lyrian.obnix.com/lua/first.html, discours général sur le langage LUA.
Cet article est le premier d'une petite série consacrée au langage Lua, un langage d'extension simple et puissant permettant d'exécuter des programmes interprétés à partir d'un programme hôte. Ce premier article se compose d'une présentation générale du langage Lua et d'un exemple simple montrant comment intégrer un programme Lua à un programme hôte C. Les articles suivants nous permettront de mieux connaître les spécificités et les avantages de Lua.
Signifiant Lune en Portugais, Lua a été développé par Luiz Henrique de Figueiredo, Roberto Ierusalimschy et Waldemar Celes, de TeCGraf, un groupe de R&D de l'université catholique de Rio de Janeiro, au Brésil. Les principales qualités de Lua sont la portabilité (Lua compile sur tout compilateur C ANSI), la rapidité d'exécution par rapport aux autres langages interprétés du même type, et surtout la possibilité d'étendre le comportement du langage par programmation.
Bien que TeCGraf garde tous ses droits sur le langage, Lua est disponible gratuitement et est librement utilisable, que son utilisation soit à but commercial ou non.
A l'origine, Lua était destiné à être utilisé comme un langage de configuration léger mais puissant. Aujourd'hui, son utilisation dépasse sa destination première, et Lua est utilisé par de nombreuses compagnies commerciales dans des domaines d'application variés. Cette adoption par de nombreuses compagnies tient en partie à la faculté qu'a Lua de fournir des méta-mécanismes permettant au programmeur de modifier son comportement, afin de l'adapter à un domaine d'application particulier.
Lua est un langage d'extension, c'est à dire destiné à être exécuté depuis un programme hôte écrit dans un autre langage, tel par exemple le C. De ce fait, un programme Lua ne peut pas être exécuté directement par le système d'exploitation. Il doit être encapsulé dans une couche logicielle supérieure. Ce programme hôte dispose alors d'une librairie de fonctions aisément modifiable, car ne nécessitant pas de recompilation après une modification.
Lua est un langage procédural offrant une syntaxe simple, proche du langage Pascal. Il dispose de la plupart des constructions syntaxiques classiques (boucles, alternatives...) mais privilégie la simplicité de la syntaxe à l'abondance des constructions. Ainsi, la boucle for classique n'existe pas, car elle n'est qu'un cas particulier d'une boucle while, qui est plus générale.
Lua étant un langage interprété, on peut s'attendre à des temps d'exécution peu satisfaisants. Pourtant, Lua tire très bien son épingle du jeu. Sa rapidité d'exécution le place dans le peloton de tête des langages interprétés. Cette rapidité s'explique notamment par une précompilation du programme vers un bytecode indépendant de la machine, a l'instar du langage Java. Il est donc possible de charger deux types de programmes Lua: soit un source en texte, soit un programme précompilé. Notons qu'à défaut de cette précompilation, le programme Lua sera compilé à la volée, lors du chargement de celui-ci. La précompilation permet donc d'accélérer le chargement d'un programme. Enfin, la grande qualité de Lua est sa capacité à être étendu par l'ajout de 'tag methods', des fonctions qui seront appelées par Lua à des points clé de l'exécution du programme, permettant au programmeur de spécifier un comportement différent du comportement standard.