Skip to content

Apresentacoes/Elixir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 

Repository files navigation

Elixir

Grupo: Cássio Elias, Marcelo Bristot, Matheus Luiz, Herick Maciel e Novato

Introdução

Recursos da plataforma
Todo código é executado dentro de Threads chamados de processos que são isolados e trocam informações por meio de mensagens exemplo:

current_process = self()
spawn_link(fn ->
send(current_process, {:msg, "hello world"})
end)
receive do
{:msg, contents} -> IO.puts(contents)
end .

Para o Elixir não é problema ter centenas de milhares de processos executando simultaneamente na mesma máquina, devido sua natureza leve.
Os processos também podem se comunicar com outros processos que estão em execução em outras máquinas na mesma rede, isso permite que desenvolvedores separem os trabalhos em vários nós.

Programação Funcional no Elixir

A programação funcional promove uma eficiencia na codificação que ajuda os desenvolvedores a escrever códigos curtos, rápidos e de fácil manutenção.
Por exemplo, a correspondência de padrões permite que os desenvolvedores construam dados facilmente e acessem seu conteúdo:

%User{name: name, age: age} = User.get("John Doe")
name #=> "John Doe".

Instalação Elixir no Ubuntu
Como o elixir roda na VM do Erlang, deve ser instalado suas dependencias.
1- sudo apt update
2- sudo apt install erlang, segundo site do Elixir use este comando
3- sudo apt-get install esl-erlang, foi testado este comando e realmente funcionou

Com o Erlang em mãos podemos instalar o Elixir
sudo apt-get install elixir

Elixir vem com IEX, um console interativo, que permite avaliar expressões em Elixir.
digite no terminal o comando
iex
se tudo estiver OK, deve ser apresentado no console algo parecido com isso
Interactive Elixir press Ctrl + C to cancel
iex > 1 + 1
2

Executar Scripts no Elixir Para executar um script crie um arquivo com extensão .exs, e cole o seguinte código

IO.puts "Teste Script no Elixir"

para executar digite no terminal: elixir nome_arquivo.exs

Para criar um projeto com elixir use o comando
mix new nome_projeto

Paralelismo no Elixir O Compilador Elixir não é sequencial os arquivos são compilados em paralelo

A diretiva Elixir kernel.ParallelCompiler é responsável por gerar os compiladores onde cada um é responsável por um arquivo. Mas qual o número de compiladores? este número cresce se necessário. Quando um compilador é construido tendo em base um unico arquivo, ele diz ao coordenador (mestre no OpenMP) para enviar uma mensagem :ok com a lista de diretivas que ele compilou. Quando o compilador encontra uma dependência que não pode ser resolvida o manipulador de erros Elixir é acionado pela propria máquina virtual, enviando uma mensagem :waiting ao coordenador e aguarda até que o mesmo retorne.

Quando não usar o Elixir? No momento em que se precisa construir aplicações que dependam de muito processamento de números, para este caso elixir é fraco, pois inicialmente o Elixir foi projetado para ser tolerânte a falhas e não para paralelização.

Tutoriais: https://elixirschool.com/pt/lessons/basics/basics/

About

Elixir

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages