Use o código e tenha 10% de desconto!

Programação Funcional Uma introdução em Clojure

Gregório Melo

Conteúdo

Se você se interessa em aprender a escrever programas melhores, Programação Funcional tem muito a lhe oferecer. Com ela, você pode produzir códigos mais robustos, menos suscetíveis a erros e expandir sua forma de pensar. E Clojure possui recursos que nos ajudam a manter o foco na Programação Funcional: sua sintaxe, que é simples e muito diferente das linguagens mais populares, o ganho em desempenho com as estruturas de dados imutáveis e oportunidade de paralelismo. Clojure, principalmente, roda na máquina virtual Java, então podemos utilizar bibliotecas escritas em Java. Sua ferramenta de automação de tarefas e gerenciamento de dependências, Leiningen, é bastante flexível e completa, e provê suporte ao repositório de bibliotecas do Maven.

Neste livro, Gregório Melo oferece uma introdução à Programação Funcional, utilizando a linguagem Clojure para demonstrar os princípios deste paradigma. Você aprenderá novas práticas e conceitos que vão ajudá-lo a escrever aplicações melhores, com exemplos de domínio, funções e requisições HTTP, seguindo uma abordagem de desenvolvimento guiado por teste. Se você tem a mente aberta para uma nova linguagem de programação e acredita que uma sintaxe e paradigma novos o levarão a novos horizontes, este livro é para você.

 

Sumário

Parte 1: O suficiente de Clojure para começarmos a brincadeira

  • 1 Primeiros contatos com Clojure
  • 1.1 As primeiras linhas de código
  • 1.2 Nossas próprias funções
  • 1.3 O que é a verdade? Sobre os condicionais
  • 1.4 Conclusão
  • 2 Resolvendo o FizzBuzz
  • 2.1 Conclusão
  • 3 Estruturas de dados em Clojure
  • 3.1 Listas
  • 3.2 Vetores
  • 3.3 Sets
  • 3.4 Conclusão
  • 4 Controle financeiro e novas estruturas de dados
  • 4.1 Keywords
  • 4.2 Mapas
  • 4.3 Conclusão

Parte 2: Embarque no mundo da Programação Funcional

  • 5 Programação Funcional, o começo
  • 5.1 Funções: primeira classe e grandeza superior
  • 5.2 Funções de grandeza superior e nossas finanças
  • 5.3 Conclusão
  • 6 Composição de funções e aplicação parcial de funções
  • 6.1 Composição de funções
  • 6.2 Aplicação parcial
  • 6.3 Conclusão
  • 7 Pureza e imutabilidade
  • 7.1 Pureza
  • 7.2 Imutabilidade
  • 7.3 Imutabilidade no nosso domínio
  • 7.4 Recursão
  • 7.5 Conclusão
  • 8 Preguiça
  • 8.1 Sequências preguiçosas e listas infinitas de transações
  • 8.2 A macro lazy-seq
  • 8.3 Conclusão

Parte 3: Programação Funcional na prática

  • 9 Criando uma aplicação com Leiningen
  • 9.1 O conversor de moedas
  • 9.2 Interoperabilidade com Java
  • 9.3 Dependências
  • 9.4 Consultando o serviço
  • 9.5 Interpretando JSON
  • 9.6 Conclusão
  • 10 Controle financeiro pessoal via HTTP
  • 10.1 O esqueleto com o Leiningen
  • 10.2 Testes
  • 10.3 Conclusão
  • 11 Evolução da API: saldo inicial
  • 11.1 Começando com testes de aceitação
  • 11.2 JSON como formato de representação de dados
  • 11.3 O toque final
  • 11.4 Conclusão
  • 12 Uma API mais rica com transações
  • 12.1 Criando transações
  • 12.2 Conclusão
  • 13 Extrato das transações e seus filtros
  • 13.1 Receitas ou despesas?
  • 13.2 Conclusão
  • 14 Considerações finais
  • 14.1 Ferramentas para o dia a dia da programação
  • 14.2 Oportunidades de refatoração
  • 14.3 Funcionalidade a implementar
  • 14.4 Outras formas de testes
  • 14.5 Ports & Adapters (hexagonal) e funcional
  • 14.6 Despedida

veja mais detalhes

Autor

Gregório Melo

Gregório Melo é desenvolvedor de software na ThoughtWorks Brasil. Hoje tem foco em backend e infraestrutura, e já trabalhou com diversas linguagens de programação em três continentes diferentes. Orgulha-se de ter sido uma das vozes frequentes do podcast Tecnologicamente Arretado e ultimamente tem se dedicado à paternidade.

Dados do produto

Número de páginas:
214
ISBN:
978-85-7254-001-8

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter