Elixir: por trás da linguagem de programação brasileira
Criada por José Valim, em 2011, o Elixir é uma abordagem moderna de programação
Elixir, antes de tudo, vale ressaltar, é uma linguagem de berço brasileiro, criada, desenvolvida e mantida por José Valim, em 2011, junto com o núcleo de Desenvolvimento e Pesquisa (R&D) da Plataformatec.
De acordo com sua própria definição, o Elixir é "uma linguagem dinâmica e funcional, desenhada para construir aplicações escaláveis e sustentáveis".
A linguagem foi desenvolvida para ser executada sobre a máquina virtual Erlang VM, com o objetivo de ampliar a produtividade e extensibilidade do ecossistema da linguagem Erlang, criada na década de 80 para múltiplos fins.
Em 2012, o Elixir era apresentado como "uma abordagem moderna de programação para a Erlang VM" e pensada como alternativa para o desenvolvimento web.
Promessas vitais
Um dos casos de maior sucesso de execução do Elixir, dentro do ecossistema web, é a plataforma de comunicação Discord.
Segundo a equipe de desenvolvedores, a escolha pelo Elixir veio desde o início, quando miravam em criar um sistema altamente concorrente em tempo real — o protótipo do Discord foi programado em Elixir, apostando nas promessas que a linguagem fazia ao rodar na máquina virtual.
Para eles, a "promessa Elixir" era simples: "acessar o poder da Erlang VM por meio de uma linguagem muito mais moderna e amigável ao usuário."
No entanto, por ser um ecossistema relativamente novo, montado sobre uma ferramenta antiga, a adaptação e o sucesso vieram depois de uma série de experimentações e pesquisas.
Neste extenso artigo, publicado em 2017, o Discord apresenta uma documentação robusta sobre a sua experiência ao montar a plataforma e tenta responder a pergunta: como foi que conseguiram escalar o Elixir a suportar cinco milhões de usuários concorrentes?
Colaboração comunitária
Além do Discord, centenas de outras companhias adotaram a linguagem para a solução de problemas, acreditando nas vantagens de seu ecossistema montado com base no Erlang VM.
Você pode conferir uma "pequena" lista delas aqui.
Segundo Valim, neste documentário para a Honeypot, desde o início seu projeto foi desenvolvido para ser Open Source, de forma que "qualquer um pudesse entrar em qualquer momento e deixar ideias, contribuir e compartilhar."
O desafio inicial era repassar a "promessa Elixir" e convencer desenvolvedores da importância e dos potenciais que a tecnologia poderia alcançar. A iniciativa de ser Open Source contribuiu para o amadurecimento do projeto, ao ser motivado por diversas companhias que passaram a adotar e apostar na linguagem. Dessa forma você "não se sente sozinho", observa Valim.
Retire o problema da mesa
Falamos algumas vezes aqui sobre a criação de novas linguagens, até parece que programadores e engenheiros de softwares pensam da seguinte maneira: "tenho um problema, vou criar uma linguagem."
No entanto, sabemos que a realidade é muito mais complexa. Sistemas e tecnologias são pensadas e elaboradas, muitas vezes, para resolver problemas específicos ou prever possíveis dificuldades no futuro.
Foi assim que surgiu o Elixir. De acordo com Valim, a demanda original veio da necessidade de escrever códigos eficientes dentro de uma realidade com múltiplos núcleos de CPU, algo que as linguagens tradicionais — Java, Ruby, Python e o próprio Erlang — tinham dificuldades.
Ao ver a eficiência da Erlang VM para lidar com a alta demanda da telefonia nos anos 80, Valim teve o insight de aproveitar a tecnologia e inserir uma linguagem que pudesse resolver, de vez, problemas modernos de concorrência com a chegada da web.