PUBLICIDADE

Linguagem Elixir; 7 motivos para aprender

Similaridades com outras linguagens como Erlang e Ruby são alguns dos motivos para aprender a trabalhar com a Elixir

27 jan 2022 14h59
| atualizado às 15h11
ver comentários
Publicidade

A criação da linguagem veio por meio da tentativa de construir algo compatível com o sistema da VM Erlang (BEAM), mas que supera a capacidade de aprimorar o desempenho do Ruby. Veja abaixo, 7 motivos para aprender a linguagem Elixir. A codificação foi criada pelo ex-funcionário do time Ruby on Rails, José Valim.

7 motivos para aprender a linguagem Elixir
7 motivos para aprender a linguagem Elixir
Foto: Vitor Pádua/Tecnoblog / Tecnoblog

Índice

  • Elixir é uma mistura de extratos
    • Valores imutáveis
    • Funções
    • Código declarativo
  • 1. Tolerância a erros
  • 2. Velocidade
  • 3. Confiabilidade
  • 4. Ações simultâneas
  • 5. Produtividade
  • 6. Ampliação escalar
  • 7. Sintaxe simplificada e limpa
  • Desvantagens
  • Quem usa?

Elixir é uma mistura de extratos

Por coincidência ou não, o nome elixir significa uma mistura de diversos componentes extraídos de outras substâncias. O nome cai perfeitamente sobre a linguagem de programação Elixir, por conter diversas similaridades e "beber" em fontes mais conhecidas, como Erlang e Ruby.

Elixir é uma linguagem de programação funcional. Em casos como esses, pode-se fazer melhor uso das cores da CPU e escrever códigos mais curtos e explícitos. O conceito de programação funcional contém três pilares: imutabilidade, funções e código declarativo.

Valores imutáveis

Na programação funcional, todos os valores criados no programa são imutáveis. Por padrão, cada função tem um valor estável, o que significa que os mecanismos de bloqueio não são necessários. Apesar da imutabilidade estar aparecendo mais nas linguagens de programação convencionais, no caso da Elixir é nativa.

As linguagens convencionais normalmente fornecem o mecanismo como uma alternativa ao tipo de dados como imutável ou um método para tornar um valor imutável.

Elixir é uma linguagem de programação funcional
Elixir é uma linguagem de programação funcional
Foto: Elixir/Divulgação / Tecnoblog

Funções

Agora, falando sobre as funções da linguagem Elixir. As funções são as principais ferramentas para construir programas. Diminuem a complexidade de criar aplicativos grandes quando as funções têm as seguintes propriedades:

  • Valores imutáveis;
  • O resultado da função é afetado apenas pelos argumentos dela;
  • A função não gera efeitos além dos valores retornados.

Esses tipos de funções também são conhecidas como "puras". As funções mais complexas e imprevisíveis, são chamadas de funções impuras.

Na programação funcional, os valores são sempre passados explicitamente entre as funções, o que torna as entradas e saídas claras. As funções também podem ser usadas em argumentos e resultados de funções.

Código declarativo

A programação declarativa se concentra no que é necessário para resolver um problema, em vez de "como resolver um problema" — visto com a programação do tipo imperativo. Em geral, o código declarativo é normalmente mais claro e conciso do que os imperativos. Com um código mais claro e conciso, os problemas encontrados são reduzidos, por exemplo bugs.

1. Tolerância a erros

Uma de suas principais características é ser tolerante a falhas para os dois principais tipos de erros de programação:

  1. Problemas que acontecem fora de um aplicativo: exemplo, problemas com uma rede (um erro em um nó não influenciará o restante);
  2. Problemas internos: dados errados, bugs lógicos etc. (isola os módulos onde ocorrem erros e os reinicia individualmente, evitando que todo o sistema fique inativo).
Contornar erros de "nodes" é uma das vantagens do Elixir
Contornar erros de "nodes" é uma das vantagens do Elixir
Foto: Elixir/Divulgação / Tecnoblog

2. Velocidade

Os desempenhos da Elixir mostram resultados muito melhores durante os serviços de teste de software que a Ruby. Se usado com o Phoenix (framework), a resposta fica na casa dos micro segundos.

3. Confiabilidade

Esta característica Elixir é um dos pontos fortes absorvidos da Erlang, que é chamada de linguagem de programação comprovada em batalha. Não existe razão para duvidar da confiabilidade da programação Elixir.

4. Ações simultâneas

Significa a capacidade de executar vários processos ao mesmo tempo, além de mantê-los independentes uns dos outros. A linguagem tem essa característica, absorvida da Erlang também.

5. Produtividade

A velocidade de desenvolvimento na programação Elixir é boa. Devido à sintaxe mais simplificada da linguagem, é fácil escrever um código limpo e compreensível sem sacrificar a produtividade de um desenvolvedor.

6. Ampliação escalar

Elixir pode lidar facilmente com muito tráfego sem custos extras para servidores adicionais e a criação de soluções eficientes de DevOps.

7. Sintaxe simplificada e limpa

Torna o código fácil de escrever e ler. O único ponto de atenção é a Elixir ser uma linguagem de programação funcional. A programação funcional tem um paradigma completamente diferente do usado pelas linguagens orientadas a objetos. O desenvolvedor gastará um tempo a mais na adaptação.

Desvantagens

  • Menor quantidade de trabalhos de programação Elixir (mercado de trabalho reduzido);
  • Poucos desenvolvedores de Elixir (dificulta a troca para aprendizado);
  • Linguagem nova (criada em 2012);
  • Comunidade reduzida;
  • Ecossistema pequeno.

Quem usa?

A Elixir é muito boa para aplicações web de qualquer tamanho, APIs (JSON, GraphQL etc.), sistemas distribuídos, internet das coisas, embarcados, entre outros.

  • Discord: usou a Elixir para construir a plataforma e em 2017 lidou com sucesso de cinco milhões de usuários simultâneos e outros milhões de eventos por segundo;
  • Moz: usou a Elixir em seu back-end para diminuir o espaço em disco e melhorar a velocidade de sua API;
  • Pinterest: usa Elixir para o sistema de notificação, minimizando o número de servidores usados para esse fim e limpar seu código;
  • Adobe: usou a Elixir para criar um aplicativo (cliente/nuvem) focado em fluxos de trabalho com fotografias colaborativas.

Com informação: Mlsdev, Educative io.

Linguagem Elixir; 7 motivos para aprender

Tecnoblog
Publicidade
Publicidade