Eustáquio Rangel

Desenvolvedor, pai, metalhead, ciclista

Learn Functional Programming with Elixir

Publicado em Developer


Recebi uma cópia do livro "Learn Functional Programming with Elixir", do Ulisses Almeida (@ulissesalmeida) e terminei de ler ele rapidamente - não porque sou uma máquina de leitura, mas porque o livro tem uma coisa que valorizo muito em livros sobre desenvolvimento de software: uma abordagem leve, concisa e principalmente, clara dos tópicos a serem abordados. Não é aquele tipo de livro que, por mais que tenha sido escrito por alguns "monstros" da área, são vagarosos, pesados, difíceis de consumir. Não me entendam mal: existe hora para esse tipo de conteúdo mais denso, mas como tempo é uma das coisas mais escassas que temos hoje em dia, eu prefiro uma coisa mais dinâmica.

Essa clareza e leveza de leitura do Ulisses nos brinda com exatamente o que descreve o título, explicações de programação funcional aplicadas à Elixir. Eu conheço a linguagem praticamente desde quando saiu e fiquei curioso primeiro pelo fato dela ter como base Erlang, que eu já conhecia e quase utilizei em produção para um determinado projeto e segundo por ela ter sido criada pelo José Valim, nosso compatriota. Apesar de não a utilizar em meus projetos atuais, eu dou cá e lá alguma fuçadinha básica, e como comentei com o Ulisses, o livro seria uma boa chance de aprender e relembrar alguns conceitos de linguagens funcionais, sendo que já "brinquei" com algumas antes (coitado do Lisp que fica no meio do fogo cruzado se é realmente funcional ou não), e para aprender um pouco mais de Elixir, já que não a utilizo de maneira frequente.

Como o Ulisses diz no livro, uma troca de paradigma é um negócio sério e um ponto bem positivo do livro é que em momento algum existe a mínima tentativa por parte dele de criar algum tipo de flame war com linguagens imperativas e orientadas à objeto, como volta e meia aparece alguém por aí tentando criar. No decorrer do livro são abordadas as vantagens da programação funcional, utilizando de forma sóbria, como devem ser feitas, comparações com algumas outros paradigmas e linguagens, utilizando por várias vezes Ruby como comparação, linguagem essa que arrisco a dizer que é de onde veio grande parte das pessoas que utilizam Elixir e de várias ideias da linguagem.

O começo do livro se concentra em várias explicações de conceitos - novamente, de forma clara - de linguagens funcionais e até de como abordagens de desenvolvimento de software se beneficiam disso, coisas que colaboram com o que é dito no começo do livro, que iniciantes e até pessoas com mais desenvoltura em Elixir e programação funcional podem pegar algumas boas dicas, coisa que eu concordo plenamente.

O livro é ótimo no sentido dos conceitos e para quem está querendo uma introdução inicial à linguagem, sendo que para aprender a linguagem mais a fundo no sentido de conhecer todos os recursos disponíveis, depois talvez seja recomendável um livro (ou mais de um, dependendo das necessidades específicas - se você quiser um framework web vai ter que aprender Phoenix) mais voltado especificamente à linguagem, o que vai com certeza ser facilitado enormemente após a leitura desse livro.

Durante o livro é desenvolvido um jogo de RPG simples, mas interessante e totalmente adequado à explicação dos conceitos, da linguagem e de conceitos e metodologias para desenvolvimento de software. O software é desenvolvido de forma gradual e refatorado para ir apresentando os conceitos e recursos novos conforme são explicados. Nada melhor do que ir botando a mão na massa!

Definitivamente um recomendo o livro para quem está querendo começar a aprender Elixir, aprender ou relembrar conceitos de programação funcional e com certeza também para quem, mesmo que não vá utilizar Elixir durante o dia a dia, pode se beneficiar do que aprendeu para, como o Ulisses diz no final do livro, escrever melhor código nas linguagens que utiliza. A leitura, novamente, é rápida por causa da clareza do autor e vale muita a pena.

Aqui tem o link dele na Pragmatic Programmers: https://pragprog.com/book/cdc-elixir/learn-functional-programming-with-elixir

E no final, com certeza, você vai ficar com vontade de comer cachorro-quente.




Comentários

Comentários fechados.

Sem nenhum comentário.

Artigos anteriores