Programação declarativa
Origem: Wikipédia, a enciclopédia livre.
Programação declarativa é um paradigma de programação baseado em programação funcional, programação lógica ou programação restritiva). Tal termo é utilizado para discernir tais linguagens em relação à linguagens de programação imperativa.
Outra definição determina que um programa é declarativo se descreve o que e não como seus procedimentos funcionam. Dessa forma, linguagens de marcação são declarativas pois descrevem o que são suas estruturas e não como elas serão utilizadas. Tal definição foge do escopo pois não trata-se de linguagens de programação.
Em particular, a programação restritiva e a programação lógica descrever propriedades da solução desejada, não especificando como o algoritmo em si deve agir. Apesar disso a maioria das linguagens desse paradigmas permitem que os algoritmos sejam implementados com detalhes, então não constituem uma linguagem declarativa pura por definição.
Similarmente, é possível escrever programas de forma declarativa utilizando linguagens de programação imperativas. Isso pode ser obtido utilizando métodos como encapsulamento para esconder detalhes de implementação fora de uma biblioteca.
linguagens funcionais que admitem tal abordagem incluem Erlang, Haskell e Lisp. Linguagens lógicas que admitem tal abordagem incluem Prolog e Mercury. Linguagens restritivas que admitem tal abordagem incluem Oz.
Índice |
[editar] Linguagens específicas por domínio
Uma forma popular de programação declarativa é o uso de linguagens específicas por domínio, no qual domínio refere-se ao domínio de discurso, isto é, o assunto o qual a linguagem está descrevendo. Exemplos de linguagens nessa categoria incluem XSLT (para transformar documentos XML), SQL (para realizar requisições a bancos de dados) e TK Solver.
[editar] Ver também
[editar] Referências
- ((en)) Linguagem declarativa - em Free On-line Dictionary of Computing
- ((en)) Linguagem relacional - em Free On-line Dictionary of Computing
- ((en)) Programação lógica - em Free On-line Dictionary of Computing
- ((en)) Programação funcional - em Free On-line Dictionary of Computing
[editar] Ligações externas
- ((en)) Frans Coenen. Características de linguagens de programação declarativas. 1999.
- ((en)) David Mertz. POO avançado: programação declarativa e mini-linguagens. 2003-07-31.