Módulo 17: Paradigmas de Programação

Introdução ao Módulo

Bem-vindo ao Módulo 17! Até agora, você aprendeu a escrever código que funciona. Neste módulo, vamos dar um passo atrás para entender como pensamos sobre a estrutura do código. Um paradigma de programação é um estilo fundamental, uma “escola de pensamento” que molda a forma como resolvemos problemas e organizamos nossas soluções.

Compreender os diferentes paradigmas fará de você um programador mais versátil, capaz de escolher a ferramenta certa para o trabalho certo e de entender por que suas linguagens favoritas funcionam da maneira que funcionam.


Aula 1: O Que é um Paradigma? Imperativo vs. Declarativo

1. Definição de Paradigma

2. A Grande Divisão: As Duas Famílias Principais


Aula 2: Paradigma Imperativo - Procedural e Orientado a Objetos

1. A Base: Programação Procedural

2. A Evolução: Programação Orientada a Objetos (POO)


Aula 3: Paradigma Declarativo - A Programação Funcional

1. Introdução à Programação Funcional (PF)

2. Conceitos-Chave da Programação Funcional

// Imperativo
const numeros = [1, 2, 3, 4, 5];
const dobrados = [];
for (let i = 0; i < numeros.length; i++) {
  if (numeros[i] > 2) {
    dobrados.push(numeros[i] * 2);
  }
}

// Declarativo (Funcional)
const dobradosFuncional = numeros
  .filter(n => n > 2)
  .map(n => n * 2);

Aula 4: Paradigma Declarativo - A Programação Lógica

1. Introdução à Programação Lógica

2. Componentes da Programação Lógica

3. Mecanismos Internos


Aula 5: Resumo e O Mundo Multi-paradigma

1. Tabela Comparativa dos Paradigmas

Paradigma Foco Principal Estado Fluxo de Controle Exemplo de Linguagem
Procedural Como fazer (sequência de passos) Mutável e central if, while, for C
Orientado a Objetos Como fazer (modelagem de objetos) Encapsulado nos objetos, mutável Métodos dos objetos Java, C#
Funcional O que fazer (transformação de dados) Evitado, imutável Composição de funções Haskell, JavaScript
Lógico O que é verdade (dedução lógica) Implícito nos fatos Mecanismo de inferência Prolog

2. Linguagens Multi-paradigma

3. Conclusão do Módulo