Powered by AppSignal & Oban Pro
Would you like to see your link here? Contact us
Notesclub

Palestra na Universidade Federal da Bahia (UFBA)

2021/UFBA.livemd

Palestra na Universidade Federal da Bahia (UFBA)

Elixir, a linguagem de programação brasileira de código aberto utilizada no mundo todo

Execute em uma Instalação de Livebook: Execute em uma Instalação de Livebook

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.

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?

Como se pronuncia Elixir?

  • Elichír
  • Elikzír
  • Élikzir
  • Elíkzir

É mesmo usada no mundo todo? Em produção?

É o assunto de várias conferências!

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 notebooks interativos com código em Elixir, dados e documentação.

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.

A BEAM

Casamento de padrões (pattern matching)

  • //Joker//
  • //Pin//
  • lado esquerdo vs. lado direito

Sintaxe amigável (ex. omissão de parênteses)

O Operador Pipe

Funções de Ordem Superior

Final

Acompanhe a comunidade