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

Palestra na Semana de Ciência da Computação e Tecnologia da Informação

2021/SCTI_UENF.livemd

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: 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?

Vagas

100 mil dólares

É 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 nobebooks 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

Introduction to Erlang

Casamento de padrões (pattern matching)

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

O Operador Pipe

Funções de Ordem Superior

Final

Acompanhe a comunidade