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 *Meetup Raleigh, 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
http://joearms.github.io/2013/05/31/a-week-with-elixir.html

Programando em Elixir

  • 1.
    Programando em Elixir: Umponto de vista acadêmico Adolfo Neto (PPGCA-DAINF-UTFPR) @adolfont bit.ly/adolfontEn
  • 2.
    Sobre mim ● Professor Associadono 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
  • 3.
    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)
  • 4.
    Como cheguei aoElixir ● 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 *Meetup Raleigh, NC
  • 5.
    Seven Languages inSeven Weeks
  • 6.
    Seven Languages inSeven Weeks ● Prolog ● Clojure ● Haskell ● Scala ● Erlang ● Ruby ● Io
  • 7.
    Seven Languages inSeven 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)
  • 8.
  • 9.
  • 10.
  • 11.
    Grok Podcast 2015 ● Sériesobre Elixir (2015): http://www.grokpodcast.com/series/elixir/ ● Série sobre Erlang (2011): http://www.grokpodcast.com/series/erlang/
  • 12.
    Mais sobre comocheguei 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
  • 13.
  • 14.
    Usando com alunosde Lógica https://gist.github.com/adolfont/521de03e09c8fac65b192302521f3b5b
  • 15.
  • 16.
  • 17.
    Antifragilidade ● Desenvolvedores de softwarenão podem se acomodar (na verdade, ninguém deve) ● Forma de me manter em contato com o mercado ● Problemas Reais para pesquisa ● Plano B
  • 18.
    Projetos ● Mais Ensino deLógica ● Ecossistema de Elixir (Meetups, Fóruns, Livros, Podcasts etc.) ● DPLL (SAT Solver) em Elixir
  • 19.
    Erlang 2017 atICFP http://icfp17.sigplan.org/track/erlang-2017-papers#About
  • 20.
    FIM “This is goodshit.” Joe Armstrong Criador do Erlang http://joearms.github.io/2013/05/31/a-week-with-elixir.html