À quelle fréquence utilisez-vous ou avez-vous vu la méta-programmation utilisée dans des projets? À l'université, je n'ai jamais vu cela s'appliquer, mais je l'ai vu lors de mon travail précédent (quand je l'ai vu, j'ai été stupéfait de son efficacité).
Mais est-ce courant? Est-il utilisé tout le temps ou juste à l'occasion?
meta-programming
gablin
la source
la source
Réponses:
Si vous considérez la réflexion comme une sorte de méta-programmation, elle est relativement courante. Pour certaines personnes, même la programmation générique (modèles et génériques) est une forme de méta-programmation, c'est donc encore plus courant.
À mon avis, cependant, la méta-programmation est quelque chose de plus complexe, qui implique la génération de code réel, et donc assez rare, même dans les langages de script.
la source
Je pense que cela dépend fortement de la langue que vous utilisez. Les gens du Common Lisp en font probablement un usage équitable - le Meta-Object Protocol permet des choses claires, une persistance transparente / orthogonale, par exemple - et Smalltalkers l'utilise fréquemment.
la source
Il a tendance à apparaître de manière courante et cohérente dans les projets Common Lisp. Consultez OnLisp et Let Over Lambda pour une explication / un aperçu.
Si vous êtes juste après des exemples (et connaissez CL), consultez le référentiel Antiweb ; il y a beaucoup de méta-programmation en cours sous les couvertures.
la source
Au cours des deux dernières années, la première partie de la programmation d'une nouvelle tâche a presque toujours consisté à écrire du code pour écrire du code. Il y a une tonne de passe-partout associés aux interactions avec une base de données qui peut être simplifiée jusqu'à la génération automatique de scripts. Pensez aux choses où vous devez interroger 3 tables pour former un objet ou quelque chose du genre. Pourquoi l'écrire vous-même s'il y a 10 de ces choses qui pourraient changer à l'avenir?
la source