Elixir: conheça a linguagem de programação com origem brasileira
Entre as empresas mais famosas que utilizam Elixir atualmente estão: WhatsApp, Pinterest, Discord, Envato, Adobe.
Elixir, antes de tudo, é uma linguagem de programação que nasceu em berço brasileiro. Foi criada, desenvolvida e mantida por José Valim, em 2012, juntamente com o núcleo de Desenvolvimento e Pesquisa (R&D) da Plataformatec.
(Imagem: Divulgação/ Elixir)
E para quem não sabe, o Elixir é um tipo de linguagem funcional executada na máquina virtual do Erlang. Na época de seu desenvolvimento, Valim descobriu a tecnologia Erlang, que havia sido criada pela Ericsson em 1986, e que é utilizada há décadas por empresas de telecomunicações. Portanto, por atender sistemas que trabalham sob alta performance, a elixir então passou a ser conhecida por grandes companhias que dependem de softwares eficientes e não só pela comunidade de desenvolvedores.
Por exemplo, entre as empresas mais famosas que utilizam o Elixir atualmente estão: WhatsApp Pinterest, Discord, Envato, Adobe, e muito mais. Outras empresas que mais utilizam a inovação são da área de e-commerce, fintechs, companhias de comunicação, consultorias e laboratórios de saúde.
Mas, afinal, qual o grande diferencial do Elixir para outras linguagens de programação?
Ferramentas do Elixir
A linguagem de programação brasileira conta com o Mix, uma ferramenta de compilação que fornece tarefas para criar, compilar, testar aplicativos e gerenciar projetos e dependências. Já por meio do Hex, seu package manager oficial, é possível encontrar uma quantidade gigante de libs, incluindo as do Erlang.
Ele disponibiliza um framework chamado ExUnit para a realização de testes unitários e, ainda, possui um terminal interativo, o IEx (Elixir's Interactive Shell), que oferece funcionalidades como: Autocompletar; Histórico; Avaliação de expressões.
Frameworks mais conhecidos
O código Elixir é executado em pequenas threads, chamadas de processos. Esses processos e são totalmente isolados e trocam informações através de mensagens:
Na comunidade Erlang existe um conceito chamado 'let it crash' ou, em português, 'deixe falhar'. Ou seja, a única certeza que um desenvolvedor tem sobre um código que é executado em produção é que as coisas podem não dar certo. Para isso, o Elixir implementa uma feature de supervisão do código que está sendo executado:
Mas, quando Elixir não é a melhor opção?
Assim como todas as linguagens de programação, o Elixir não é bala de prata. Ela não foi feita para cobrir todos os casos de uso possíveis, por mais que pareça. Existem, principalmente, algumas situações em que o uso do Elixir não é o ideal, por exemplo:
Processamento computacional pesado – Não é algo que o core team do Erlang/Elixir está muito preocupado. Além disso, já existem ótimas ferramentas utilizando Python, Matlab ou R;
Deep Learning – Há algumas ferramentas rodando em Elixir, mas existem ferramentas de Deep Learning mais robustas e validadas em Python, por exemplo;
Mobile apps – Hoje o Elixir não é uma linguagem viável para desenvolvimento mobile, pelo menos ainda não.