DEV Community

Diego Novais
Diego Novais

Posted on

Paradigma Declarativo

Continuando os artigos sobre os paradigmas de programação, vamos falar sobre o Paradigma Declarativo.

Contextualizando...

Diferente do Paradigma Imperativo, o Paradigma Declarativo tem como o foco principal o que fazer e não o como fazer.

Imagine que agora você vai pedir um sanduba com aquele combo caprichado, e para isso basta, você pegar o celular, abrir um desses aplicativos de delivery e de forma declarativa fazer o pedido e aguardar chegar, correto? E provavelmente você não se importa como o sanduíche foi feito e chegou, o importante é o resultado, ou seja, o pedido ter chegado de acordo com o que foi escolhido.

Se fossemos escrever um algoritmo, as instruções seriam passadas tudo de forma declarativa, ou seja, iriamos passar uma sequência de funções a serem executadas sem nos preocupar em como essas funções foram implementadas. De forma que o resultado esperado será sempre o mesmo, o pedido ter chegado de acordo com o que foi escolhido.

Ao nível computacional, estaríamos escrevendo um algoritmo de forma declarativa, onde passaríamos um passo a passo do que fazer para que o computador possa executar, porém, com um nível maior de abstração.

Dessa forma, o programador deve preocupar com o resultado esperado e não necessariamente em como o resultado deve ser computado.

Linguagens de programação

Algumas linguagens baseiam-se no modelo declarativo, dentre elas: Elixir, Erlang, Haskell, Lisp, SQL.

Outras linguagens possibilitam um mix entre os paradigmas imperativo e declarativo, conhecidas como linguagens multi-paradigmas (veja este artigo que escrevi sobre linguagens multi-paradigmas).

Exemplos de linguagens de programação multi-paradigma são: C++, Groovy, Scala, Swift, Ruby, Lua e Python.

Oldest comments (0)