Palestra na Semana de Ciência da Computação e Tecnologia da Informação
Elixir, a linguagem de programação brasileira de código aberto utilizada no mundo todo
Execute em uma Instalação de Livebook:
- Evento: 11ª Semana de Ciência da Computação e Tecnologia da Informação
- Site: https://cciuenf.github.io/scti2020/ https://archive.md/pQOhS
- 08/11/2021 18h00
Sobre o palestrante
Adolfo Neto é professor da UTFPR, criador e co-host do Emílias Podcast - Mulheres na Computação e membro do projeto Emílias - Armação em Bits.
- Twitter https://twitter.com/adolfont
- Erlang Ecosystem Foundation https://erlef.org/wg/education
- Elixir em Foco https://anchor.fm/elixiremfoco/ https://anchor.fm/elixiremfoco/
- Elixir_UTFPR https://twitter.com/elixir_utfpr
- YouTube https://www.youtube.com/c/AdolfoNeto
Resumo
Uma breve introdução à linguagem Elixir. Vamos conhecer as principais características da linguagem e porque ela é boa até mesmo para iniciantes em programação.
O que é Elixir?
Elixir é mesmo uma linguagem brasileira?
Foi criada por José Valim em 2011-12. Mas isto é o suficiente para dizer que ela é brasileira?
Vagas
É mesmo usada no mundo todo? Em produção?
- Escutem a série Elixir em Produção do podcast Elixir em Foco
- Elixir é a quarta linguagem com melhor fator amada/temida da pesquisa com usuários do StackOverflow de 2021 e está em posição 17 entre as mais desejadas.
- Na mesma pesquisa, é a terceira que paga melhor.
- Empresas que usam Elixir 1, 2, 3, 4, 5
- Empregos para Devs Elixir
É o assunto de várias conferências!
- ElixirConf: Europe, USA/World, Africa
- Code BEAM. A mais recente foi a Code BEAM America 2021
- Elixir Brasil - 27 e 28 de novembro de 2021
- Code BEAM BR
Isto aqui é o Livebook!
Tudo o que vocês estão vendo está sendo executado em uma instalação de Livebook, um software para a criação de nobebooks interativos com código em Elixir, dados e documentação.
- Repositório de código aberto: https://github.com/livebook-dev/livebook
- Site: http://livebook.dev
As melhores características de Elixir
Funções na computação
Funções nomeadas em módulos
defmodule Saude do
def calcula_imc(peso, altura) do
peso / (altura * altura)
end
end
Saude.calcula_imc(100, 1.5)
Funções anônimas
fn peso, altura -> peso / (altura * altura) end
imc = fn peso, altura -> peso / (altura * altura) end
imc.(100,1.5)
&(&1/(&2*&2))
imc = &(&1/(&2*&2))
imc.(100,1.5)
Funções matemáticas (puras)
Para as mesmas entradas, sempre retorna as mesmas saídas.
Não alteram o estado geral do sistema.
Não-funções matemáticas (funções impuras)
Para as mesmas entradas, a cada execução pode retornar uma saída diferente.
Exemplo:
Enum.shuffle([1,2,3])
Ou alteram o estado geral do sistema.