Codificar como dados - Code as data
Na ciência da computação, as expressões código como dados e dados como código referem-se à dualidade entre código e dados, que permite aos computadores tratar as instruções em uma linguagem de programação como dados manipulados por um programa em execução .
Os conceitos em que o código do computador é tratado como dados, ou dados executados como código, incluem:
- Scripts de configuração , programação declarativa , linguagens específicas de domínio e linguagens de marcação , onde a execução do programa é controlada por elementos de dados que não são seqüências de comandos.
- Funções de primeira classe , funções que podem ser acessadas como entidades na linguagem.
- Homoiconicidade , propriedade de linguagens como LISP onde o código tem a mesma estrutura dos dados.
- Reflexão e metaprogramação , a capacidade de uma linguagem de modificar a estrutura e o comportamento de objetos no programa em tempo de execução.
- Código que se auto-modifica , a capacidade de uma linguagem de alterar suas próprias instruções durante a execução.
- Programa armazenado , código em um computador com arquitetura Von Neumann que armazena programas e dados no mesmo dispositivo de memória.