programando em elixir

20
Programando em Elixir: Um ponto de vista acadêmico Adolfo Neto (PPGCA-DAINF-UTFPR) @adolfont bit.ly/adolfontEn

Upload: adolfo-neto

Post on 22-Jan-2018

150 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Programando em Elixir

Programando em Elixir:Um ponto de vista acadêmico

Adolfo Neto (PPGCA-DAINF-UTFPR)@adolfont

bit.ly/adolfontEn

Page 2: Programando em Elixir

Sobre mim

● Professor Associado no Departamento Acadêmico de Informática (DAINF) da UTFPR desde 2008

● Orientador no Mestrado em Computação Aplicada (PPGCA)

● Ministro: – Lógica para Computação– Métodos Ágeis– Metodologia da Pesquisa

Page 3: Programando em Elixir

Temas de Pesquisa

● Métodos Ágeis para o Desenvolvimento de Software (TDD, PP)

● Provadores de Teoremas (Tableaux e SAT)

● Ensino de Lógica● Encontros de Desenvolvedores (Coding

Dojos, Coderetreats, Meetups)

Page 4: Programando em Elixir

Como cheguei ao Elixir

● Histórico:– 80’s: BASIC, Assembler– 90-93: Algoritmos, Pascal, C, C++, LISP– 94: Java (beta)– 2003: Java (OO, Patterns GoF), AspectJ– 2008-2010: Prolog, Ruby– 2010: Clojure (Lisp e Java) – 2014: Clojure *Meetup Durham, NC

– 2015: Elixir *Mentioned in several meetups at the Research Triangle (Raleigh, Durham, Chapell Hill - NC)

Page 5: Programando em Elixir

Seven Languages in Seven Weeks

Page 6: Programando em Elixir

Seven Languages in Seven Weeks

● Prolog● Clojure● Haskell● Scala● Erlang● Ruby● Io

Page 7: Programando em Elixir

Seven Languages in Seven Weeks

● Erlang é uma linguagem funcional● A sintaxe de Erlang é inspirada no do

Prolog, que usa Paradigma Lógico● “Foi desenvolvida pela Ericsson para

suportar aplicações distribuídas e tolerantes a falhas a serem executadas em um ambiente de tempo real e ininterrupto” (Wikipédia)

Page 8: Programando em Elixir

Erlang

Page 9: Programando em Elixir

Seven More Languages...

Page 10: Programando em Elixir

Seven More Languages...

● Elixir● Lua● ...

Page 11: Programando em Elixir

Grok Podcast 2015

● Série sobre Elixir (2015): http://www.grokpodcast.com/series/elixir/

● Série sobre Erlang (2011): http://www.grokpodcast.com/series/erlang/

Page 12: Programando em Elixir

Mais sobre como cheguei a Elixir

● Escutava falar de Elixir nos Meetups dos EUA (04/2014-04/2015)

● Interessei-me pois o criador é brasileiro● Elixir é funcional● Elixir tem características de Clojure

Page 13: Programando em Elixir

Investindo tempo

Page 14: Programando em Elixir

Usando com alunos de Lógica

https://gist.github.com/adolfont/521de03e09c8fac65b192302521f3b5b

Page 15: Programando em Elixir

Testes

Page 16: Programando em Elixir

Valorações Lógicas

Page 17: Programando em Elixir

Antifragilidade

● Desenvolvedores de software não podem se acomodar (na verdade, ninguém deve)

● Forma de me manter em contato com o mercado

● Problemas Reais para pesquisa● Plano B

Page 18: Programando em Elixir

Projetos

● Mais Ensino de Lógica● Ecossistema de Elixir (Meetups, Fóruns,

Livros, Podcasts etc.)● DPLL (SAT Solver) em Elixir

Page 19: Programando em Elixir

Erlang 2017 at ICFP

http://icfp17.sigplan.org/track/erlang-2017-papers#About

Page 20: Programando em Elixir

FIM

“This is good shit.”Joe Armstrong (Criador do Erlang)

sobre Elixir

http://joearms.github.io/2013/05/31/a-week-with-elixir.html