A programação declarativa é um paradigma de linguagem de programação que se baseia na lógica e se concentra mais no que um programa deve realizar, em vez de detalhar como isso deve ser realizado. Isso contrasta diretamente com a programação imperativa, que descreve detalhadamente cada etapa de um comando ou função de programação. Uma linguagem de programação declarativa terá algumas diretrizes básicas com base na lógica para que o programa possa operar, mas não fornece comandos específicos para cada etapa. Em vez disso, ele recebe instruções sobre o que deve ser realizado (o resultado final de uma seção de código, por exemplo) e o programa segue uma progressão lógica para concluir essa tarefa.
A programação declarativa pertence às linguagens de domínio específico (DSL), não às de uso geral. Linguagens específicas de domínio só se aplicam a um domínio particular: HTML, por exemplo, é um DSL; só se aplica ao código HTML para páginas da web. SQL (Structured Query Language, para gerenciamento de banco de dados) é outra. Isso possibilita que os programas declarativos concluam uma tarefa logicamente - como o programa se aplica a um domínio específico, ele não precisa ser particularmente flexível ou mutável.
Programação declarativa vs. programação imperativa
A programação imperativa se aplica a linguagens como Java e C, que requerem instruções detalhadas para cada parte do código. Para que algo seja mudado, deve ser programado de alguma forma. Isso permite que os desenvolvedores façam alterações no programa quando necessário. A programação declarativa não é tão flexível.
No entanto, a programação declarativa é mais fácil de ler e menos confusa. Pode ser difícil para os desenvolvedores entender porque a linguagem não explica como um processo foi concluído, mas é um paradigma útil para programas que pertencem a um domínio específico com uma lógica particular.