Este livro é uma visão equilibrada e pragmática de PF (programação funcional) em Javascript. A primeira edição já está completa. Leia online de graça aqui, ou:
O "Functional-Light JavaScript" explora os princípios básicos da programação funcional (PF) conforme são aplicados ao JavaScript. Mas o que torna este livro diferente é que abordamos esses princípios sem nos afogar em toda a terminologia complexa. Vemos um subconjunto de conceitos básicos de PF que chamo de "Functional-Light Programming" (FLP) e aplicamos eles ao JavaScript.
Notas: Apesar da palavra "Light" no título, não considero ou recomendo esse livro como um livro "iniciante", "fácil", ou "introdutório" sobre o assunto. Este livro é rigoroso e cheio de detalhes corajosos; ele espera uma base sólida de conhecimento em JS antes de se aprofundar. "Light" significa escopo limitado; em vez de ser mais amplo, este livro vai muito mais fundo em cada tópico do que você normalmente encontra em outros livros de PF em JavaScript
Convenhamos que, a não ser que você já seja um membro do grupo de descolados da programação funcional (eu não sou!), uma frase como "uma mônada é apenas um monóide na categoria dos endofunctors" não significa nada para nós.
Isso não quer dizer que esses termos não tem significado ou que programação funcional é ruim por usar eles. Depois de você terminar de estudar o Functional-Light, você provavelmente vai querer estudar PF mais formalmente e, certamente, terá plena visão do que eles significam e por quê.
Mas eu quero que você seja capaz de aplicar, agora, alguns dos fundamentos da PF no seu JavaScript, porque eu acredito que isso irá ajudar você a escrever um código melhor e mais razoável.
Para ler mais sobre as motivações e a perspectiva por trás deste livro, verifique o Prefácio.
- Introdução (por Brian Lonsdorf, mais conhecido como "Prof Frisby")
- Prefácio
- Capítulo 1: Porquê Programação Funcional?
- Capítulo 2: A Natureza das Funções
- Capítulo 3: Gerenciando Entradas das Funções
- Capítulo 4: Funções de Composição
- Capítulo 5: Reduzindo Efeitos Colaterais
- Capítulo 6: Imutabilidade de Valor
- Capítulo 7: Closure vs Objeto
- Capítulo 8: Recursão
- Capítulo 9: Operações em Lista
- Capítulo 10: Async Funcional
- Capítulo 11: Juntando Tudo
- Appendix A: Transduzindo
- Appendix B: A Humilde Mônada
- Appendix C: Bibliotecas PF
Este livro foi publicado e está disponível para compra (nos formatos e-book e impresso) nestas fontes:
Se você também quiser contribuir financeiramente para o meu esforço (nesse ou em qualquer outro dos meus trabalhos OSS) além da compra do livro, eu tenho um patreon com o qual sempre vou apreciar a sua generosidade.
O conteúdo desse livro está muito alinhado com um workshop de treinamento que ensino profissionalmente (no formato de workshop público e privado-corporativo) com o mesmo nome.
Se você gostar deste conteúdo e gostaria de entrar em contato comigo, considerando que conduzo esse tipo de treinamento ou sobre outros diversos tópicos como JS/HTML5/Node.js utilize o email: [email protected]
Também tenho vários cursos de treinamento em JS disponíveis em formato de vídeo sob demanda. Eu ensino cursos por meio do Frontend Masters, como o workshop Functional-Light JavaScript v3. Alguns dos meus cursos também estão disponíveis no PluralSight.
Quaisquer contribuições que você fizer serão muito bem vindas.
Mas POR FAVOR leia o Guia de contribuições com cuidado antes de submeter um Pull Request.
Os materiais aqui são todos (c) 2016-2018 Kyle Simpson.
Este trabalho foi licenciado sob uma Creative Commons Attribution-NonCommercial-NoDerivs 4.0 Unported License.