Publisher's Synopsis
Le slogan de Lua, traduit de l'anglais, était naguère: Un langage d'extension extensible . Cela résume bien le positionnement de Lua dans le domaine de la programmation. Si vous y réfléchissez, vous pourrez constater que les avantages et inconvénients de Lua vis-à-vis des autres langages ont presque tous pour origine cette orientation.Lua ne manque pas d'atouts. Certains points forts du langage sont presque uniques et peuvent justifier à eux seuls l'adoption de Lua dans un nouveau développement.Une caractéristique très importante de Lua est sa toute petite taille. Si, sur des ordinateurs de bureau actuels, il n'est pas rare de voir des logiciels occuper plusieurs centaines de mégaoctets d'espace disque, les capacités de stockage et de mémoire sont beaucoup plus faibles dans les produits électroniques embarqués. Le compilateur, l'interpréteur et les librairies standards de Lua n'occupent qu'environ 150 kilo-octets une fois compilés. C'est facilement dix fois moins qu'un environnement Perl ou Python réduit à son strict minimum, ou cent fois moins qu'un compilateur C++ moderne en ligne de commande.Le code source en C est portable. Beaucoup de programmes se targuent d'être portables sous prétexte qu'ils peuvent tourner à la fois sur Windows, MacOS et Linux. Lua va beaucoup plus loin dans sa définition de portabilité, car il peut être compilé sur toute plate-forme possédant un compilateur C respectant la norme ANSI. Le code source respecte même la norme C++98 en plus de C89, ce qui fait qu'il peut être compilé au choix comme un programme C ou C++.Ainsi, Lua peut être utilisé dans presque tout appareil électronique intégrant un microprocesseur, qu'il soit de type ARM, MIPS, PowerPC ou autre. La taille des mots (32 ou 64 bits), l'ordre des octets dans les mots, le système d'exploitation (voire son absence) sont tout à fait indifférents pour Lua. Bien que normalement le type double soit utilisé pour représenter toute valeur numérique, Lua peut être configuré pour utiliser float ou int comme type numérique, rendant alors possible son utilisation sur un DSP par exemple.