Aprendendo a programar

Paradigmas de Programação

Imperativo, Orientado a Objetos, Funcional e Declarativo

Paula Torales Leite
Zero e Umas

--

Agora que nós temos as noções mais básicas de programação, podemos passar para assuntos um pouco mais complexos. Antes de entrarmos em linguagens diferentes e seus funcionamentos, nós precisamos entender o que são os Paradigmas de Programação. Mesmo assim, se você ainda não passou nos nossos outros artigos dessa sequência, nós falamos sobre: algoritmos, variáveis, estruturas de condição e estruturas de repetição e funções.

Vamos então aprender!

Photo by Christina Morillo from Pexels

Tá, a nossa primeira pergunta sempre vai ser: o que é um paradigma?

Um paradigma é um exemplo que serve como modelo, padrão, uma forma de pensar.

Na programação, nós não divergimos muito disso, mas esse padrão deve ser visualizado em relação à programação. Ou seja, um paradigma de programação é um estilo paradigmático de programar. Ele fornece a visão que o programador possui sobre a estruturação e execução do programa.

Até o momento, nós vamos falar sobre 4 paradigmas de programação: imperativo, orientado a objetos, funcional e declarativo. Vamos olhar cada um deles com mais calma então!

Paradigma Imperativo

Quando pensamos nas linguagens que existem, as mais antigas são orientadas ao paradigma imperativo. Sendo assim, elas são fundamentadas no modelo computacional clássico de von Neumann.

Linguagens: C, Pascal, BASIC!

Vamos agora para um exemplo de código em BASIC! Nesse código, vamos calcular fatoriais.

10 INPUT num
20 IF num < 1 THEN GOTO 10
30 LET resultado = num
40 num = num - 1
50 resultado = resultado*num
60 IF num > 1 THEN GOTO 40
70 PRINT resultado

Como vocês podem ver, não é o tipo de programação que estamos acostumados a ver atualmente, mas é uma linguagem muito importante e faz parte desse super paradigma imperativo.

A passagem de parâmetros por referência e valor são feitas de uma forma muito características nesse paradigma, então prestem bastante atenção. Isso vai ser algo que vamos trabalhar bastante em um artigo que vai sair mais para frente que entrará em mais detalhes sobre esse paradigma.

Paradigma Orientado a Objetos

A programação orientada a objetos fornece um modelo no qual um programa é uma coleção de objetos que interagem entre si, passando mensagens que transformam seu estado.

Linguagens: C++, Java, Smalltalk!

Nesse paradigma entramos em polimorfismo (fique de olho no artigo que vem sobre isso!), classes, objetos e muitas mudanças que revolucionaram a programação. Muitas das linguagens que utilizamos atualmente são orientadas a objetos.

Vamos agora para um exemplo de código em C++! Nesse código, estamos fazendo uma atribuição de valores a um objeto que é uma classe.

class MinhaClasse {
public:
int meuNumero;
string minhaString;
};

int main() {
MyClass meuObjeto;

meuObjeto.meuNumero = 15;
meuObjeto.minhaString = "Texto";
return 0;
}

Ficou um pouco confusa com como funciona tudo isso? Pode ficar tranquila que nos próximos artigos vamos falar sobre todas as coisas que você precisa para entender linguagem orientadas a objetos!

Paradigma Funcional

A programação funcional modela um problema computacional como uma coleção de funções matemáticas, cada uma com um espaço de entrada e resultado. Isso separa a programação funcional das funções que possuem o comando de atribuição.

Linguagens: CML, LISP, Scheme, Haskell!

Nós temos um artigo fantástico aqui no nosso Medium que explica bem afundo o funcionamento desse paradigma! É só clicar aqui para acessar.

Um exemplo muito legal é fazer um fatorial em Scheme!

(define fatorial
(lambda (n)
if (= n 0)
1 (* n (fatorial (- n 1)))))

Olhem só a quantidade de parênteses e recursividade que temos aqui!

Paradigma Declarativo

A programação lógica (ou declarativa) permite um programa modelar um programa declarando qual resultado ele deve obter, ao invés de como ele deve ser obtido.

Linguagens: PROLOG, Gödel!

Eu acredito que você deve estar curiosíssima sobre como utilizar PROLOG, então vamos lá!

gosta(mary,comida).
gosta(mary,vinho).
gosta(john,vinho).
gosta(john,mary).
?- gosta(mary,comida).
yes.
?- gosta(john,vinho).
yes.
?- gosta(john,comida).
no.

Olhem só para como se utiliza essa linguagem. O que vocês acharam? Interessante?

Novamente, fiquem de olho porque vamos lançar um artigo que discute detalhadamente sobre esse paradigma!

Obrigada por ler esse artigo! Deixe um comentário abaixo se tiver alguma dúvida. Não esqueça de nos seguir aqui no Medium e nossa Newsletter, para as dicas, aulas e notícias sobre tecnologia, feito por mulheres para mulheres. Nos siga também no Instagram, para se conectar mais ainda com o Coletivo Zero e Umas!

A Paula Torales Leite é uma das mulheres que forma o Coletivo Zero e Umas! A Paula faz Ciência da Computação e, nas palavras dela “A nossa missão é buscar a força ao capacitar outras mulheres”. Ela também é apaixonada pela leitura!

Você consegue se conectar com ela no LinkedIn, Instagram, Medium, ou nos seguindo através do Instagram.

--

--

Paula Torales Leite
Zero e Umas

Escritora e Editora no incrível Medium do Coletivo Zero e Umas! ~ medium.com/zeroeumas