Jump to content

Programation en Lua : Préface


Recommended Posts

Préface

Actuellement, beaucoup de langues de programmation sont concernées par la façon de vous aider à écrire des programmes avec des centaines de milliers de lignes. Pour cela, ils vous offrent des paquets, namespaces, des systèmes de type complexes, une myriade de constructions et des milliers de pages de documentation à être étudié.

Lua n'essaye pas de vous aider à écrire des programmes avec des centaines de milliers de lignes. Au lieu de cela, Lua essaye de vous aider à résoudre votre problème avec seulement des centaines de lignes, ou même moins. Pour réaliser ce but, Lua compte sur l'extensibilité, comme beaucoup d'autres langues. À la différence de la plupart des autres langues, cependant, Lua est facilement étendu non seulement avec le logiciel écrit dans Lua lui-même, mais aussi avec le logiciel écrit dans d'autres langues, comme C et C ++.

Lua a été conçu, depuis le début, être intégré avec le logiciel écrit dans C et d'autres langues conventionnelles. Cette dualité de langues apporte beaucoup d'avantages. Lua est une langue minuscule et simple, en partie parce qu'il n'essaye pas de faire ce que C est déjà bon puisque comme l'exécution pure, des opérations à bas niveau, ou l'interface avec le logiciel tiers. Lua compte sur C pour ces tâches. Ce que Lua offre est pour quoi C n'est pas bon : une bonne distance du matériel, structures dynamiques, aucun licenciement économiques, facilité de test et débogage. Pour cela, Lua a un environnement sûr, la gestion de mémoire automatique et la grande facilité pour manipuler des séries et d'autres sortes de données avec la taille dynamique.

Plus qu'être une langue extensible, Lua est aussi une langue de colle. Lua supporte(soutient) une approche à base de composant au développement logiciel, où nous créons une demande(application) en collant ensemble l'existant des composants de haut niveau. D'habitude, ces composants sont écrits dans un compilé, la langue statiquement tapée, comme C ou C ++; Lua est la colle que nous utilisons pour composer et connecter ces composants. D'habitude, les composants (ou des objets) représentent des concepts plus concrets, à bas niveau (comme des gadgets et des structures de données) qui n'est pas soumis à beaucoup de changements pendant le développement de programme et cela prend la plus grande partie du temps d'UC du programme final. Lua donne la forme finale de l'application, qui changera probablement beaucoup pendant le cycle de vie du produit. Cependant, à la différence d'autres technologies de colle, Lua est une langue véritable aussi. Donc, nous pouvons utiliser Lua non seulement pour coller des composants, mais aussi adapter et les réorganiser, ou même créer des nouveaux composants entiers.

Bien sûr, Lua n'est pas la seule langue scripting autour. Il y a d'autres langues que vous pouvez utiliser pour plus ou moins les mêmes buts, comme Perl, Tcl, le Rubis, En avant et le Python. Les caractéristiques suivantes mettent Lua sauf ces langues; bien que d'autres langues partagent certaines de ces caractéristiques avec Lua, aucune autre langue n'offre un profil semblable :

Extensibilité: l'extensibilité de Lua est si remarquable que beaucoup de personnes considèrent Lua pas comme une langue, mais comme un kit pour construire des langues spécifiques de domaine. Lua a été conçu à partir de zéro pour être étendu, tant par le code de Lua que par le code de C externe. Comme une preuve de concept, il met en oeuvre la plupart de sa propre fonctionnalité de base par des bibliothèques externes. C'est vraiment facile à l'interface Lua avec C/C ++ et d'autres langues, comme le Fortran, le Java, Smalltalk, Ada et même avec d'autres langues scripting.

Simplicité: Lua est une langue simple et petite. Il a peu (mais puissant) de concepts. Cette simplicité fait de Lua facile à apprendre et contribue pour une petite mise en oeuvre. Sa distribution complète (le code source, le manuel, plus des fichiers binaires pour quelques plates-formes) va confortablement dans une disquette.

Efficacité: Lua a une mise en oeuvre tout à fait efficace. Des points de référence indépendants montrent Lua comme une des langues les plus rapides dans le royaume de scripting des langues interprétées.

Portabilité: Quand nous parlons de la portabilité, nous ne parlons pas de la direction Lua tant sur des Fenêtres que sur des plates-formes Unix. Nous parlons de la direction Lua sur toutes les plates-formes dont nous avons jamais entendu parler : NextStep, OS/2, Playstation II (Sony), Mac OS-9 et OS X, BeOS, MS-DOS, unités centrales IBM, EPOC, PalmOS, MCF5206eLITE Conseil d'Évaluation, RISC OS, plus bien sûr toutes les saveurs d'UNIX et Fenêtres. Le code source pour chacune de ces plates-formes est pratiquement le même. Lua n'utilise pas la compilation conditionnelle pour adapter son code aux machines différentes; au lieu de cela, il persévère dans l'ANSI(l'INSTITUT AMÉRICAIN DE NORMALISATION) standard (l'ISO)((l'organisme international de normalisation)) C. Cette voie, d'habitude vous ne doit pas l'adapter à un nouvel environnement : si vous avez un ANSI(un INSTITUT AMÉRICAIN DE NORMALISATION) C le compilateur, vous devez juste compiler Lua, de la boîte.

Une grande partie de la puissance de Lua vient de ses bibliothèques. Ceci n'est pas par hasard. Une des forces principales de Lua est son extensibilité par de nouveaux types et des fonctions. Beaucoup de fonctions contribuent à cette force. La dactylo dynamique permet un grand degré de polymorphisme. La gestion de mémoire automatique simplifie des interfaces, parce qu'il n'y a aucun besoin de se décider qui est responsable d'alloueret désaffecter la mémoire, ou comment manipuler déborde. Les fonctions de commande plus haute et des fonctions anonymes permettent un haut degré de paramétrage, faisant des fonctions plus polyvalent.

Lua vas avec un petit jeu de bibliothèques standard. En installant Lua dans un environnement fortement limité, comme des processeurs incorporés, il peut être sage de choisir soigneusement les bibliothèques dont vous avez besoin. De plus, si les limitations sont dures, il est facile d'aller à l'intérieur du code source des bibliothèques et choisir un à un que les fonctions devraient être gardées. Souvenez-vous, cependant, que Lua est plutôt petit (même avec toutes les bibliothèques standard) et dans la plupart des systèmes vous pouvez utiliser le paquet entier sans aucune préoccupation.

Traduction du Book officiel en ligne sur le lua.

Link to comment
  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...