DEV Community

Cover image for Minha Experiência Aprendendo Elixir
João Paulo
João Paulo

Posted on

Minha Experiência Aprendendo Elixir

Olá, me chamo João Paulo, sou do Ceará, Brasil. Trabalho atualmente como Técnico em Tecnologia da Informação no IFCE - Instituto Federal de Educação, Ciência e Tecnologia do Ceará, desde 2010. Meu trabalho era prioritariamente de suporte técnico ao Campus Canindé, cidade onde nasci, moro e trabalho. Por volta de 2023, começou um programa de teletrabalho onde os servidores poderiam executar suas tarefas de forma remota. Dentre as possibilidades de tarefas possíveis, havia o desenvolvimento web. Então, comecei a desenvolver um blog simples para a CTI - Coordenação de Tecnologia da Informação do campus, que se encontra no seguinte endereço: https://cti.caninde.ifce.edu.br. As tecnologias utilizadas foram Bootstrap 5 e Ruby on Rails. Depois, para estudo, reescrevi o blog com Python e Django e também fiz um sistema de achados e perdidos para o campus com Ruby on Rails, que se encontra no seguinte endereço: https://achei.caninde.ifce.edu.br.

Após algumas pesquisas sobre tecnologias para 2024 que eu gostaria de aprender, encontrei Elixir, uma linguagem de programação criada por um brasileiro chamado José Valim. A partir deste momento, decidi adotar esta linguagem e seu ecossistema como tecnologias a serem utilizadas para os próximos projetos de desenvolvimento web na instituição em que trabalho. Ainda estou bem no início da minha aprendizagem, mas gostaria de salientar as vantagens que percebi em Elixir.

Vantagens do Elixir
Concorrência: Elixir é construído sobre a máquina virtual Erlang, conhecida por sua capacidade de lidar com milhares de processos simultâneos com eficiência.

Escalabilidade: Grandes empresas como WhatsApp e Discord usam Elixir para construir sistemas altamente escaláveis.

Comunidade: A comunidade Elixir é conhecida por ser acolhedora e ativa, o que é sempre um grande ponto positivo ao aprender uma nova tecnologia. Destaco aqui a comunidade do Ceará de Elixir, Elug-CE, que tem um grupo no Telegram: https://t.me/elug_ce.

Detalhes da Linguagem Elixir que me Chamaram a Atenção
Imutabilidade: A imutabilidade é um dos pilares do Elixir e, inicialmente, parecia uma grande mudança em relação ao que eu estava acostumado em Ruby. No entanto, percebi rapidamente como isso contribui para a robustez e a segurança dos programas.

Pattern Matching: Pattern matching foi uma das características que mais me encantou em Elixir. A capacidade de combinar padrões de forma concisa e poderosa é extremamente útil e torna o código mais legível e expressivo.

Pipe Operator: O pipe operator (|>) é outra funcionalidade incrível de Elixir. Ele permite encadear funções de maneira limpa e intuitiva, melhorando a legibilidade do código.

Ferramentas e Bibliotecas
Phoenix Framework: Para desenvolvimento web, utilizei o Phoenix Framework, que é ao Elixir o que Rails é ao Ruby. Fiquei impressionado com a performance e a facilidade de uso do Phoenix.

Outras Ferramentas: Além do Phoenix, explorei diversas bibliotecas e ferramentas do ecossistema Elixir, como Ecto para ORM e ExUnit para testes. A comunidade Elixir tem um conjunto robusto de ferramentas que facilitam o desenvolvimento de aplicações complexas.

Desafios Enfrentados
Claro, a jornada não foi isenta de desafios. Alguns dos obstáculos que encontrei incluem:

Mudança de Paradigma: Transitar de uma mentalidade de programação orientada a objetos para funcional foi um desafio inicial.

Ferramentas e Ecossistema: Embora a comunidade Elixir seja ótima, o ecossistema ainda é menor comparado a linguagens mais estabelecidas como Ruby.

Conclusão
Aprender Elixir tem sido uma experiência enriquecedora. A linguagem é poderosa, expressiva e bem projetada. A comunidade é acolhedora e os recursos disponíveis são mais do que suficientes para começar. Se você está procurando uma linguagem moderna, eficiente e divertida para aprender, eu recomendo fortemente Elixir.

Espero que minha experiência possa inspirar outros a explorarem Elixir. A jornada de aprendizado continua, e estou animado para ver até onde Elixir me levará.

Criei também um repositório no GitHub com recursos de aprendizagem para quem está começando a aprender Elixir: https://github.com/jpstudioweb/masters-of-elixir.

Se você quer acompanhar esta jornada comigo, você pode me seguir nos seguintes locais:

GitHub: https://github.com/jpstudioweb
X (antigo Twitter): https://x.com/jpstudioweb
Dev.to (artigos): https://dev.to/jpstudioweb

Este primeiro artigo foi apenas para me apresentar e compartilhar com vocês minha experiência em aprender Elixir. Por favor, aguardem novos artigos com conteúdo técnico sobre as tecnologias que estou aprendendo.

Top comments (0)