O que é programação declarativa?

A programação declarativa é uma maneira de especificar o que um programa deve fazer, em vez de especificar como fazê-lo. A maioria das linguagens de computador é baseada nas etapas necessárias para resolver um problema, mas algumas indicam apenas as características essenciais do problema e o deixam para o computador para determinar a melhor maneira de resolver o problema. Diz-se que os idiomas anteriores apóiam a programação imperativa, enquanto os segundos apóiam a programação declarativa.

Pode-se considerar o exemplo a seguir do SQL para obter todas as regiões de vendas em que o lucro excede um determinado número, digamos, US $ 700 dólares (USD), a partir dos dados de vendas.

Selecione Região, Lucro das vendas, em que Lucro> 700

Esta declaração não indica o que o sistema SQL deve fazer para obter os dados. O sistema SQL pode passar por cada registro de vendas e determinar se a condição é satisfeita ou pode obter rapidamente os poucos registros principais de dados pré-classificados. A declaração indica apenas a natureza dos dados desejados.

Prolog é uma linguagem de programação declarativa que indica as relações lógicas entre entidades.

antepassado (M, C): - mãe (M, C)
ancestral (X, Z): - mãe (X, Y), ancestral (Y, Z)

O programa acima indica truques. Se M é a mãe de C, então M é um ancestral de C. Se X é a mãe de uma pessoa Y que é um ancestral de Z, então X é um ancestral de Z. Dado esse e alguns fatos de mãe e filho, o programa pode responder perguntas sobre toda a árvore genealógica materna.

Durante a execução do programa, o sistema Prolog cria várias instruções verdadeiras, criando assim uma base de conhecimento. Essa base de conhecimento é pesquisada de forma eficiente por conta própria. O criador do programa acima não especifica como pesquisar.

HTML e CSS são linguagens de programação declarativas. Por exemplo, o exemplo HTML <border da tabela = "1"> indica uma borda fina. Um exemplo de CSS é color: blue . Isso especifica a cor do texto. Como pode ser visto nesses exemplos, HTML e CSS especificam o que deve aparecer em uma página da web, mas não como fazê-lo.

A vantagem das linguagens de programação declarativas é principalmente dupla. Os programas são concisos; isso facilita mesmo para quem não é programador obter soluções. No exemplo SQL acima, um analista ou uma pessoa de suporte comercial pode obter as informações desejadas. Da mesma forma, os leigos podem escrever páginas da web aceitáveis ​​com simples comandos HTML e CSS.

A segunda vantagem do modelo de programação declarativa é que o código imperativo repetitivo que indica como resolver as coisas é fornecido no sistema de computador nos bastidores. Esse código pode ser altamente eficiente e incorporar as melhores idéias da computação. Pode tirar proveito do paralelismo.

OUTRAS LÍNGUAS

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

Como podemos ajudar? Como podemos ajudar?