Programando com Elixir
Um guia abrangente sobre programação funcional e concorrente usando Elixir. Aborda a transição do pensamento orientado a objetos para o pensamento funcional, correspondência de padrões, imutabilidade, o modelo ator para concorrência e a construção de sistemas distribuídos robustos com OTP.
Visão Geral do Curso
Resumo do Conteúdo
Um guia abrangente sobre programação funcional e concorrente usando Elixir. Cobrirá a transição do pensamento orientado a objetos para o funcional, correspondência de padrões, imutabilidade, o modelo de ator para concorrência e a construção de sistemas distribuídos robustos com OTP.
Domine a arte de construir sistemas concorrentes resilientes por meio da beleza da programação funcional.
Autor: Dave Thomas
Agradecimentos: José Valim, Corey Haines, Bruce Tate, Jessica Kerr, Anthony Eden, Chad Fowler, Kim Shrier, Candace Cunningham e Potomac Indexing.
Objetivos de Aprendizagem
- Contraste o modelo de transformação de dados do Elixir com a programação convencional baseada em estado.
- Configure o shell interativo do Elixir (IEx) e execute códigos do Elixir via scripts e compilação.
- Aplique o operador de correspondência (
=), o operador de pinça (^) e o curinga (_) para desestruturar e validar dados. - Explique as implicações teóricas e práticas da imutabilidade sobre desempenho e gerenciamento de memória.
- Identifique e utilize os tipos internos do Elixir, incluindo tipos Valor, Sistema e Coleção.
- Aplique as regras de escopo de variáveis e a expressão
withpara gerenciar transformações de dados complexas. - Crie e invoque funções anônimas usando ambas as notações padrão e de captura (
&). - Implemente funções nomeadas dentro de módulos usando correspondência de padrões e recursão para lidar com lógicas complexas.
- Aplique cláusulas de guarda e parâmetros padrão para controlar o fluxo de execução das funções.
- Desconstruir e Construir Listas: Use correspondência de padrões cabeça/cauda para navegar e construir estruturas listas recursivas.