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!