Quando usar programação funcional?

Conceitos de Paradigmas de Programação

Eleanor Thomas

Senior Data Analytics Engineer

Aplicações de programação funcional

  • Machine learning, deep learning, inteligência artificial
  • Análise e processamento de grandes volumes de dados
  • Engenharia de dados (ex.: em Scala e Clojure)

Processamento de dados

Conceitos de Paradigmas de Programação

Exemplo de programação funcional

def process_data(raw_data):
    processed_data = raw_data

    ... further processing steps here! ...

    return processed_data
  • A função recebe os dados de entrada em raw_data
  • Cria uma nova variável para saída, processed_data
  • Executa um conjunto consistente de etapas para processar os dados
  • Retorna processed_data
Conceitos de Paradigmas de Programação

Prós e contras da programação funcional

PRÓS

  • Funções puras são mais fáceis de ler e depurar
  • Mais fáceis de testar
  • Menos efeitos inesperados no código
  • Alta reutilização entre projetos
  • Dá para rodar funções em paralelo e acelerar o código

CONTRAS

  • Difícil acostumar ao paradigma; pode parecer limitante: “efeitos colaterais” (gravar arquivos etc.) são muito do que queremos fazer
  • Menos especialistas, ferramentas e frameworks
  • Curva de aprendizado mais íngreme e menos materiais
  • Maior uso de memória limita aplicações
Conceitos de Paradigmas de Programação

Programação funcional e declarativa

  • Programação funcional é um tipo de programação declarativa
  • Declarativa: diga ao computador o que fazer, não como fazer
  • Programação funcional é só um dos tipos de declarativa
  • Você diz quais funções executar, não os passos exatos

Programação funcional é declarativa

Conceitos de Paradigmas de Programação

Vamos praticar!

Conceitos de Paradigmas de Programação

Preparing Video For Download...