logo
bannert

Elixir: por trás da linguagem de programação brasileira

Felipe Buzzi
3 min

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.


Desenvolvendo uma web acessível

Post anterior

TypeScript: por trás do superset de JavaScript

Próximo post