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

* Agence Wordpress Toulon




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

Agence Wordpress Toulon





Article:

La métaprogrammation, nommée en similitude entre les métadonnées et les métaclasses[réf. souhaitée], désigne l'écriture de programmes qui manient des données exposant elles-mêmes des programmes. On parle de programme auto-modifiant quand le programme opère sur la base de ses instructions; mais ce cas est particulier.
Elle peut être utilisée pour produire du code, qui peut être traduit par un compilateur et donner une constance dans le résultat, afin de ne pas avoir recours à un calcul manuel. Il permet aussi de minimiser le temps d'exécution du programme si le résultat constant avait été classiquement calculé par le programme comme pour les résultats variables.
La méthode décrite précédemment s'applique également en dehors des calculs entre autres,dans le remplissage de données constantes telles que des tableaux ou des structures plus rudes. Mais cette technique opère uniquement pour des valeurs constantes. En effet, dans le cas où une donnée utilisée par le métaprogramme correspond à une entrée du programme, par exemple une saisie de l'utilisateur, le programme doit être exécuté auparavant pour qu'il l'assimile. Impossible alors qu'un tel métaprogramme soit interprété par un compilateur. l'optimisation par métaprogrammation serait alors totalement inenvisageable.
l'écriture de données, comprenant un programme affecté au compilateur, ne constitue pas la limite de la métaprogrammation, elle peut simplement concerner la manipulation d'un programme dépendant d'entrées variables. Par exemple, un programme peut, selon ses entrées, muter le code d'un métaprogramme. Ce métaprogramme peut alors être affecté à une exécution ultérieure ou une génération de code.
La manière d'opérer existe sous différentes formes :
l'emploi de générateurs de code;
la programmation avec des templates,ou modèles (dans C++ ou Common Lisp);
l'utilisation d'un protocole à méta-objets en MOP, tel que le MOP de CLOS ou Smalltalk;
l'usage de macros.
Pour les langages à typage statique,les deux premières techniques sont utilisables .La méta-programmation admet dans ce cas là une forme puissante mais limitée. Le principe du générateur de code revient entre autres, à façonner un compilateur associant la sémantique d'un langage donné, avec des ajouts . Cette approche n'est donc pas facile. La programmation à base de templates conduit à l'organisation des opérateurs relatifs aux types de données absolument distinctes,c'est utile en C++. Les templates de Common Lisp sont plus universels. Ces deux techniques concernent seulement la phase de compilation.Comme MetaOcaml,différents langages académiques alimentent un typage qui soutient que les programmes générés par le méta-programme sont correctement typés .
Les langages réflexifs donnent des moyens d'introspection et de transformation en cours d'exécution, au-delà des valeurs et objets du domaine d'une application et aussi du comportement du système ,à prendre comme le langage avec ses bibliothèques standards. Les protocoles à méta-objets laissent la possibilité de spécifier le comportement au niveau des classes elles-mêmes ; la spécification du comportement au niveau des classes elles-mêmes peut être acquise par les protocoles à méta-objets où les classes, les méthodes sont prises comme d'objets d'un domaine particulier.






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