O que é metaprogramação?

Metaprogramação é o processo de escrever programas de computador que, por sua vez, escrevem outros programas. O processo de metaprogramação permite maior flexibilidade aos programadores de computador, porque o trabalho geralmente realizado durante o período de tempo de execução é alocado para o período de compilação. Esse processo libera o tempo do programador para se concentrar em outras tarefas porque reduz o tempo que leva para escrever manualmente o código de um programa. A recompilação é desnecessária porque a metaprogramação permite que os programas lidem com novas situações com maior eficiência. "Metalinguagem" é o termo dado à linguagem de computador que o metaprograma utiliza.

Linguagem de objetos é a linguagem de computador daqueles programas que são escritos pelo processo de meta programação. Reflexividade é um termo dado à metalinguagem, que também pode gerar metaprogramação. A metaprogramação funciona de várias maneiras. Uma maneira é a interface de programação de aplicativos permitir que o código de programação acesse o interior do mecanismo de tempo de execução.

Outra maneira que a metaprogramação funciona é permitir que programas gravem outros programas através do processo de execução dinâmica. Nesse caso, expressões de string são usadas nesse processo. Embora o mesmo idioma possa ser utilizado nesses dois processos, não é incomum os idiomas favorecerem um processo em detrimento do outro.

A metaprogramação também funciona contornando o idioma. Permite a alteração de linguagens através de sistemas de transformação de programas. Este procedimento concede à metaprogramação a liberdade de usar idiomas, mesmo se o idioma não empregar nenhuma característica de metaprogramação.

Um código fonte não é necessário para a metaprogramação. Isso pode ser feito por uma compilação incremental ou por programas que podem ser alterados em tempo de execução. O langaugae de computador Lisp é a linguagem preferida para o processo de metaprogramação. Isso se deve à simplicidade desse tipo de linguagem de computador e ao seu poder.

A metaprogramação que utiliza a linguagem Lisp funciona permitindo a avaliação do código durante o período de definição do programa, em contraste com o período de tempo de execução. Esse processo torna a linguagem de metaprogramação e a linguagem de programação host a mesma. Quando isso ocorre, essas rotinas Lisp podem ser recicladas para o processo de metaprogramação.

Outras linguagens usaram esse processo exato com a integração de um intérprete de programa. Este intérprete trabalha com os dados no programa. Linguagens de programação específicas de domínio na metaprogramação são outra forma que cria analisadores e analisadores lexicais. Isso permite que o usuário use expressões regulares para definir o idioma.

OUTRAS LÍNGUAS

Este artigo foi útil? Obrigado pelo feedback Obrigado pelo feedback

Como podemos ajudar? Como podemos ajudar?