Programming Elixir - Dave Thomas

Elixir é uma linguagem de programação funcional criada pelo brasileiro José Valim em cima da Erlang VM. A linguagem tem chamado a atenção, principalmente da comunidade Ruby, pois além da sintaxe parecida, vários membros importantes do time do Rails tem participados de projetos envolvendo a linguagem.

O próprio Dave Thomas que tem a fama de ter popularizado o Rails/Ruby com seus livros, vem escrevendo livros/participando dos projetos também.

Aliás, é justamente o livro do Dave Thomas sobre Elixir que é tema deste post.

Sempre tive uma quedinha por linguagens funcionais, tentei há alguns anos atrás aprender Haskell e lisp, mas sempre acabava desistindo de estudar. Principalmente pela dificuldade de se encontrar exemplos práticos (frameworks web, por exemplo) ou materiais bons para estudar. Elixir por outro lado, supre todos esses problemas. Tem uma comunidade ativa e contruindo frameworks/libs para web, por exemplo. E bons divulgadores, vide o livro do Dave Thomas.

Dada a introdução da linguagem, vamos ao livro.

O livro do Dave Thomas é realmente bom em introduzir a linguagem, além do ecossistema e boas práticas da comunidade. É muito legal ir lendo o livro e aprendendo ao mesmo tempo sobre como os programadores Elixir pensam e como a linguagem funciona.

Como o Elixir roda em cima da Erlang VM fica quase impossível não falar um pouco sobre o Erlang. Mas diferentemente da maioria dos livros que vi sobre Scala e que comentam sobre Java, Dave não assume que você sabe qualquer coisa e ao mesmo tempo não entra em detalhes desnecessários.

Um dos pontos altos do livro, é que ele assume que você sabe programar. Então te leva direto para as diferenças da linguagem e do paradigma.

Nos tópicos avançados, ele também introduz o OTP, que tem uma filosofia bem diferente da que estamos acostumados com a maioria das linguagens. Afinal, "deixar a aplicação cair e subir uma nova" não é uma frase que se encaixa bem com Java, por exemplo.

Os exercícios no final de cada capítulo são muito bons, e apesar de simples, ajudam a fixar o conteúdo. A única coisa que eu não gostei, foi a experiência de ler código no Kindle, mas acho que foi mais culpa do aparelho do que do livro.

Programming Elixir definitivamente é um "must have" se você quer aprender Elixir (e você deveria querer).