Skip to content

Instantly share code, notes, and snippets.

@adolfont
Last active September 7, 2021 23:00
Show Gist options
  • Save adolfont/28fd9c7e52b6eea5184d46008deb96e1 to your computer and use it in GitHub Desktop.
Save adolfont/28fd9c7e52b6eea5184d46008deb96e1 to your computer and use it in GitHub Desktop.

Introdução à linguagem Elixir (brasileira e funcional)

Adolfo Neto

Estas são notas de um Minicurso de Elixir no evento SABER UFPR 2020 https://www.even3.com.br/saber2020/

Sexta-feira, 09/10/2020, 14h-16h, gratuito.

Resumo

  • O que é Elixir?
  • O que é a BEAM e Erlang?
  • O que é Programação Funcional?
  • Valores e Tipos Básicos em Elixir
  • Tipos Estruturados em Elixir
  • Casamento de Padrões em Elixir
  • Funções em Elixir
  • Aprendendo com a Comunidade

Programação ao vivo com Elixir ao longo de todo o minicurso.

O que é Elixir? (1/8)

Brasileira???

Empresas que usam Elixir

https://elixir-companies.com/en

https://serokell.io/blog/elixir-companies

Pequenos exemplos

Chirp de Chris McCord https://github.com/adolfont/chirp

Masterkey de Cristine Guadalupe https://masterkey.gigalixirapp.com/ (código-fonte em https://github.com/cristineguadelupe/masterkey)

Jogo da Velha de Felipe Renan https://github.com/feliperenan/tictactoe

Vagas

O que é a BEAM e Erlang? (2/8)

Empresas que usam a BEAM

WhatsApp!! https://codesync.global/media/successful-companies-using-elixir-and-erlang/

O que é Programação Funcional? (3/8)

  • Problemas são resolvidos escrevendo funções e agrupando-as em módulos
  • Funções são quase sempre matemáticas (para as mesmas entradas, sempre as mesmas saídas)
  • Funções são cidadãs de primeira classe
    • Você pode criá-las fora de módulos
    • Você pode passar funções como parâmetro
    • Você retornar uma função como saída (retorno) de uma função

Algumas linguagens são puramente funcionais (exemplo: Haskell). Elixir não é uma delas. Elixir é concorrente funcional, como Erlang.

Valores e Tipos Básicos em Elixir (4/8)

  • Inteiros
  • Números de Ponto Flutuante
  • Strings
  • Átomos
  • Booleanos (Lógicos)

https://elixirschool.com/pt/lessons/basics/basics/#tipos-b%C3%A1sicos

Tipos Estruturados em Elixir (5/8)

  • Listas
  • Tuplas
  • Mapas

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

Casamento de Padrões em Elixir (6/8)

https://elixirschool.com/pt/lessons/basics/pattern-matching/

Funções em Elixir (7/8)

  • Nomeadas (em Módulos)
    • def
    • defp
  • Anônimas
    • com fn
    • com &

Exemplos de construção de funções

Exercism https://exercism.io/my/tracks/elixir

Avançado

Aprendendo com a Comunidade (8/8)

Episódios recentes de podcasts com pessoas da comunidade Elixir

Outros recursos em português

https://github.com/adolfont/elixir_cop/blob/master/resources/portuguese.md

Livros

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment