WEB2007 ALSO SPEAKS ENGLISH
06 44 00 14 84 (ou 0033644001484)

* Typo3 Toulouse




***Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe

Typo3 Toulouse





Article:

La modification dynamique d'un système d'objets ou de types dans un langage dynamique, est bel et bien possible. En d'autres termes, il faudra générer de nouveaux objets à partir d'une définition disponible au runtime, ou basée sur le mixin de plusieurs types ou objets. Cela peut aussi désigner l'altération de l'arbre d'héritage et ainsi altérer la manière dont les types disponibles se comportent, notamment pour ce qui concerne l'appel de méthodes.
La plupart des langages dynamiques optent pour la notion de continuation. Une continuation, c'est un état d'exécution qui peut être réinvoqué. A titre d'exemple, un analyseur syntaxique peut réintégrer un résultat entremetteur et une continuation qui, lorsqu'elle est réinvoquée peut continuer à analyser l'entrée. Les continuations peuvent interagir de manière très complexe avec la portée, spécialement pour ce qui concerne les fermetures lexicales. Pour cette raison, de nombreux langages dynamiques ne fournissent pas de continuations.
La réflexion dans bon nombre de langages dynamiques, engage typiquement l'introspection, c'est-à-dire l'analyse des types et des médatadonnées. Elle engage aussi l'évaluation et la modification du programme comme données, telle que les fonctionnalités fournies pas le Lisp pour l'analyse de S-expressions, c'est l'intercession.
Un nombre limité de langages dynamiques présentent des fonctionnalités qui agencent l'introspection de code et l'évaluation en une fonctionnalité qui s'appelle macro. La plupart des programmeurs aujourd'hui connaît les macros de C ou C++ qui sont une fonctionnalité statique.
Elles ne soutiennent que la commutation de chaînes dans le texte du programme avant sa compilation. Cependant dans les langages dynamiques, les macros facilitent le fonctionnement interne du compilateur et un ac total à l'interpréteur, machine virtuelle, ou runtime, permettant la définition d'extensions de langage qui peuvent optimiser le code généré ou de modifier la syntaxe du langage. En Lisp, on parle de macro hygiénique pour distinguer ces macros de celles qui sont substituées à la compilation comme du texte.
Une classe est une sorte de module dont le but est de créer un sous-ensemble d'objets dans un langage dynamique. La classe retrace comment se comportent ses objets, procure leur interface et compose la structure de leur état. La classe permet de créer de nouveaux objets au moyen d'un mécanisme appelé instanciation. Ce mécanisme peut se subdiviser en deux démarches :
Pour des environnements de programmation réflexifs, les classes peuvent être vues comme des objets à part entière créés au moyen du mécanisme d'instanciation (alloc (); init()). Ainsi, toutes les classes peuvent être vues comme des instances créées à la base à partir d'une même classe.






****Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe