Programando em Elixir

Post on 22-Jan-2018

151 views 0 download

Transcript of Programando em Elixir

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