Post on 22-Jan-2018
Programando em Elixir:Um ponto de vista acadêmico
Adolfo Neto (PPGCA-DAINF-UTFPR)@adolfont
bit.ly/adolfontEn
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
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)
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)
Seven Languages in Seven Weeks
Seven Languages in Seven Weeks
● Prolog● Clojure● Haskell● Scala● Erlang● Ruby● Io
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)
Erlang
Seven More Languages...
Seven More Languages...
● Elixir● Lua● ...
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/
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
Investindo tempo
Usando com alunos de Lógica
https://gist.github.com/adolfont/521de03e09c8fac65b192302521f3b5b
Testes
Valorações Lógicas
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
Projetos
● Mais Ensino de Lógica● Ecossistema de Elixir (Meetups, Fóruns,
Livros, Podcasts etc.)● DPLL (SAT Solver) em Elixir
Erlang 2017 at ICFP
http://icfp17.sigplan.org/track/erlang-2017-papers#About
FIM
“This is good shit.”Joe Armstrong (Criador do Erlang)
sobre Elixir
http://joearms.github.io/2013/05/31/a-week-with-elixir.html