Elixir – Linguagem de programação funcional criada para desenvolver aplicações escaláveis

Elixir e uma linguagem de programação criada por um brasileiro o José Valim, é uma linguagem de programação funcional, concorrente, de propósito geral que executa na máquina virtual Erlang(BEAM). O Elixir compila em cima de Erlang para poder fornecer aplicações distribuídas, em tempo real suave, tolerante a falhas, sem parar, mas também suporta metaprogramação com macros e polimorfismo via protocolos.

Empresa como E-MetroTel, Pinterest e Moz utilização a linguagem Elixir, mas a linguagem poder ser usada também para desenvolvimento web, por empresas como Bleacher Report, Discord e Inverse, e pode ser utilizado para construção de sistemas embarcados. A comunidade organiza eventos anuais nos Estados Unidos, Europa e Japão, além de eventos e conferências locais menores.

Características

  • Uma linguagem que compilapara bytecode para a máquina virtual da Erlang (BEAM)
  • Tudo é uma expressão
  • Funções de Erlang podem ser chamadas de Elixir, sem impacto no tempo de execução, devido à compilação para o bytecode Erlang, e vice-versa
  • Metaprogramação permitindo a manipulação direta de árvores sintáticas abstratas
  • Suporte para documentação via docstrings tipo Python na linguagem de formatação Markdown
  • Polimorfismovia um mecanismo chamado protocolos. Como em Clojure, os protocolos fornecem um mecanismo de ligação dinâmica. No entanto, isso não deve ser confundido com o despacho múltiplo uma vez que os protocolos em Elixir despacham em um único tipo.
  • Ênfase na recursão e funções de ordem superior em vez de looping baseado em efeitos colaterais.
  • Ferramentas internas para gerenciamento de dependências, compilação de código, execução de testes, formatação de código, depuração remota e muito mais.
  • Coleções preguiçosase assíncronas com streams
  • Casamento de padrões(Pattern matching)
  • Suporte a Unicodee cadeias UTF-8

 

Instalando Elixir

As instruções para instalação em cada sistema operacional podem ser encontradas em Elixir-lang.org na aba Install.

Após instalar o Elixir, você pode facilmente confirmar a versão instalada.

  • % elixir -v
  • Erlang/OTP 22.0 [erts-10.5.3] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]
  • Elixir 1.10.1

Modo Interativo

Elixir vem com IEx, um console interativo, que nos permite avaliar expressões em Elixir.

Para iniciar, executamos iex:

  • Erlang/OTP 22.0 [erts-10.5.3] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]
  • Interactive Elixir (1.10.1) – press Ctrl+C to exit (type h() ENTER for help)
  • iex>

Podemos testar e digitar algumas expressões simples:

  • iex> 2
  • +3
  • 5
  • iex> 2+3 == 5
  • true
  • iex> String.length(“The quick brown fox jumps over the lazy dog”)
  • 43

Para mais informações sobre Elixir. Clique aqui!