Com que frequência você viu a meta-programação ser usada em projetos? Na universidade, nunca vi isso ser aplicado, mas vi isso no meu trabalho anterior (quando o vi, fiquei impressionado com a eficácia).
Mas quão comum é isso? É usado o tempo todo, ou apenas ocasionalmente?
meta-programming
gablin
fonte
fonte
Respostas:
Se você considera a reflexão um tipo de metaprogramação, é relativamente comum. Para algumas pessoas, mesmo a programação genérica (modelos e genéricos) é uma forma de metaprogramação, o que é ainda mais comum.
Na minha opinião, no entanto, a metaprogramação é algo mais complexo, que envolve a geração real de código e, portanto, bastante incomum, mesmo em linguagens de script.
fonte
Eu acho que depende fortemente do idioma que você usa. As pessoas comuns do Lisp provavelmente fazem um uso justo dele - o Meta-Object Protocol permite coisas simples, persistência transparente / ortogonal, por exemplo - e Smalltalkers o usam com frequência.
fonte
Ele tende a aparecer comum e consistentemente em projetos Common Lisp. Confira OnLisp e Let Over Lambda para obter algumas explicações / insights.
Se você está procurando apenas exemplos (e conhece CL), confira o repositório do Antiweb ; há muita metaprogramação oculta.
fonte
Nos últimos dois anos, o primeiro pedaço de programação de uma nova tarefa quase sempre foi escrever código para escrever código. Há uma tonelada de clichê associada a interações com um banco de dados que pode ser simplificado até a geração automática de scripts. Pense nas coisas em que você precisa consultar 3 tabelas para formar um objeto ou algo assim. Por que escrever você mesmo se há 10 dessas coisas que podem mudar no futuro?
fonte