No artigo de hoje vamos nos aprofundar em Elixir (linguagem de programação), um tema que tem chamado a atenção de milhões de pessoas em todo o mundo. Desde o seu impacto na sociedade até às suas implicações na vida quotidiana, Elixir (linguagem de programação) tem gerado debate constante e continua a ser objeto de investigação e análise. Ao longo deste artigo iremos explorar as diferentes perspectivas que existem em torno de Elixir (linguagem de programação), bem como a sua evolução ao longo do tempo e a sua influência em diferentes áreas. Além disso, iremos nos aprofundar nas últimas notícias e descobertas relacionadas a Elixir (linguagem de programação), com o objetivo de fornecer uma visão global e atualizada deste fascinante tema. Junte-se a nós nesta jornada de descoberta e reflexão sobre Elixir (linguagem de programação)!
Elixir | |
---|---|
Paradigma | Multiparadigma, funcional, concorrente, distribuída |
Surgido em | 2012 (11–12 anos) |
Última versão | 1.16.2 (10 de março de 2024 ) |
Criado por | José Valim |
Estilo de tipagem | forte, dinâmica |
Influenciada por | |
Influenciou | LFE |
Licença: | Apache License 2.0 |
Página oficial | elixir-lang |
Elixir é uma linguagem de programação funcional, concorrente, de propósito geral que executa na máquina virtual Erlang (BEAM). Elixir compila em cima de Erlang para fornecer aplicações distribuídas, em tempo real suave, tolerante a falhas, non-stop, mas também a estende para suportar metaprogramação com macros e polimorfismo via protocolos.
Elixir é usada por empresas como E-MetroTel, Pinterest e Moz. Também é usada para desenvolvimento web, por empresas como Bleacher Report, Discord e Inverse, e para a 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.
A linguagem de programação Elixir foi criada por José Valim, desenvolvida no hub de P&D da Plataformatec, uma subsidiária do Nubank. Seus objetivos foram permitir uma maior extensibilidade e produtividade no Erlang VM, mantendo a compatibilidade com ferramentas e ecossistema de Erlang.
Em 13 de julho de 2018, o canal do YouTube Honeypot lançou um documentário sobre a linguagem Elixir chamado Elixir: The Documentary.
Os exemplos a seguir podem ser executados em um shell IEX ou salvos em um arquivo e executados a partir da linha de comando, digitando elixir <filename>
.
Exemplo clássico do programa Olá Mundo:
iex> IO.puts "Hello World!"
Hello World!
Compreensões:
iex> for n <- , rem(n,2) == 1, do: n*n
Pattern Matching (desestruturação):
iex> =
iex> a
2
iex> {:ok, } = {:ok, }
iex> a
"world"
Pattern Matching (cláusulas múltiplas):
iex> case File.read("path/to/file") do
iex> {:ok, contents} -> IO.puts("found file: #{contents}")
iex> {:error, reason} -> IO.puts("missing file: #{reason}")
iex> end
Operador pipe:
iex> "1" |> String.to_integer() |> Kernel.*(2)
2
Módulos:
defmodule Fun do
def fib(0), do: 0
def fib(1), do: 1
def fib(n) do
fib(n-2) + fib(n-1)
end
end
Sequencialmente distribuindo mil processos:
for num <- 1..1000, do: spawn fn -> IO.puts "#{num * 2}" end
Executando uma tarefa de forma assíncrona:
task = Task.async fn -> perform_complex_action() end
other_time_consuming_action()
Task.await task