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

* Integrateur 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

Integrateur Typo3 Toulouse





Article:

Il est possible de modifier dynamiquement un système d'objets ou de types dans un langage dynamique. 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.
Il ya des langages dynamiques qui se servent de la notion de continuation. Une continuation, c'est un état d'exécution qui peut être réinvoqué. A titre d'illustration, un analyseur syntaxique peut réintégrer un résultat intermédiaire 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, implique 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 offrent 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 provoquent que la commutation de chaînes dans le texte du programme avant sa compilation. Mais dans les langages dynamiques, les macros donnent ac au 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 décrit comment se comportent ses objets, fournit 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 décomposer en deux opérations :
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