SlideShare une entreprise Scribd logo
1  sur  20
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

Contenu connexe

Tendances

Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiMario Guedes
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantesrichardsonlima
 
Python Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem PythonPython Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem Pythonantonio sérgio nogueira
 
Ruby, Simples e Expressivo
Ruby, Simples e ExpressivoRuby, Simples e Expressivo
Ruby, Simples e ExpressivoRodrigo Martins
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesMarcos Thomaz
 
Trabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonTrabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonJanderson Campêlo
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonGiancarlo Silva
 
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasProcesso de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasNatanael Simões
 
Apostila Lógica de Programação
Apostila Lógica de ProgramaçãoApostila Lógica de Programação
Apostila Lógica de ProgramaçãoRicardo Terra
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em PythonRodrigo Hübner
 
Programando java independente da ide
Programando java independente da ideProgramando java independente da ide
Programando java independente da ideHeider Lopes
 
Test-Driven Development com Ruby on Rails
Test-Driven Development com Ruby on RailsTest-Driven Development com Ruby on Rails
Test-Driven Development com Ruby on RailsRodrigo Manhães
 

Tendances (20)

Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe Delphi
 
Python 3k
Python 3kPython 3k
Python 3k
 
Paradigmas do Ruby
Paradigmas do RubyParadigmas do Ruby
Paradigmas do Ruby
 
Ruby
RubyRuby
Ruby
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantes
 
Python para Programadores
Python para ProgramadoresPython para Programadores
Python para Programadores
 
Python Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem PythonPython Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem Python
 
Ruby, Simples e Expressivo
Ruby, Simples e ExpressivoRuby, Simples e Expressivo
Ruby, Simples e Expressivo
 
A Linguagem Ruby
A Linguagem RubyA Linguagem Ruby
A Linguagem Ruby
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
 
Python WTFAQ?
Python WTFAQ?Python WTFAQ?
Python WTFAQ?
 
Trabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonTrabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - Python
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem Python
 
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasProcesso de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
 
Apostila Lógica de Programação
Apostila Lógica de ProgramaçãoApostila Lógica de Programação
Apostila Lógica de Programação
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em Python
 
Programando java independente da ide
Programando java independente da ideProgramando java independente da ide
Programando java independente da ide
 
Test-Driven Development com Ruby on Rails
Test-Driven Development com Ruby on RailsTest-Driven Development com Ruby on Rails
Test-Driven Development com Ruby on Rails
 

Similaire à Programando em Elixir

Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01thomasdacosta
 
R: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreR: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreLuis Borges Gouveia
 
Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Thyago Maia
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completothomasdacosta
 
Testes de Unidade para C++
Testes de Unidade para C++Testes de Unidade para C++
Testes de Unidade para C++Ramiro Luz
 
Apresentação sobre experiência curso à distância sobre NumPy e Proc. Imagens ...
Apresentação sobre experiência curso à distância sobre NumPy e Proc. Imagens ...Apresentação sobre experiência curso à distância sobre NumPy e Proc. Imagens ...
Apresentação sobre experiência curso à distância sobre NumPy e Proc. Imagens ...Roberto Lotufo
 
Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01
Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01
Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01Rogerio Aguiar Teixeira
 
Como o R pode despertar sua paixão por dados
Como o R pode despertar sua paixão por dadosComo o R pode despertar sua paixão por dados
Como o R pode despertar sua paixão por dadosSillas Gonzaga
 
Programação Orientada a Aspectos
Programação Orientada a AspectosProgramação Orientada a Aspectos
Programação Orientada a AspectosRicardo Terra
 
Conceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoConceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoRobson Ferreira
 
Day 0 iniciando na carreira em ti
Day 0   iniciando na carreira em tiDay 0   iniciando na carreira em ti
Day 0 iniciando na carreira em tiLuis Henrique Costa
 
Implantação de Cultura Ágil em Times Distribuídos
Implantação de Cultura Ágil em Times DistribuídosImplantação de Cultura Ágil em Times Distribuídos
Implantação de Cultura Ágil em Times DistribuídosRafaelScheidt1
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04Ale Uehara
 
AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration
AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration
AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration Ambiente Livre
 

Similaire à Programando em Elixir (20)

Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01
 
R: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreR: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livre
 
Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completo
 
Testes de Unidade para C++
Testes de Unidade para C++Testes de Unidade para C++
Testes de Unidade para C++
 
Apresentação sobre experiência curso à distância sobre NumPy e Proc. Imagens ...
Apresentação sobre experiência curso à distância sobre NumPy e Proc. Imagens ...Apresentação sobre experiência curso à distância sobre NumPy e Proc. Imagens ...
Apresentação sobre experiência curso à distância sobre NumPy e Proc. Imagens ...
 
Apresentacao curso-2017-08-08
Apresentacao curso-2017-08-08Apresentacao curso-2017-08-08
Apresentacao curso-2017-08-08
 
Desvendando o mundo iOS
Desvendando o mundo iOSDesvendando o mundo iOS
Desvendando o mundo iOS
 
Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01
Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01
Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01
 
Como o R pode despertar sua paixão por dados
Como o R pode despertar sua paixão por dadosComo o R pode despertar sua paixão por dados
Como o R pode despertar sua paixão por dados
 
Programação Orientada a Aspectos
Programação Orientada a AspectosProgramação Orientada a Aspectos
Programação Orientada a Aspectos
 
Curriculo2016
Curriculo2016Curriculo2016
Curriculo2016
 
Conceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoConceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentação
 
Day 0 iniciando na carreira em ti
Day 0   iniciando na carreira em tiDay 0   iniciando na carreira em ti
Day 0 iniciando na carreira em ti
 
Implantação de Cultura Ágil em Times Distribuídos
Implantação de Cultura Ágil em Times DistribuídosImplantação de Cultura Ágil em Times Distribuídos
Implantação de Cultura Ágil em Times Distribuídos
 
Meetup Carreira em TI
Meetup Carreira em TIMeetup Carreira em TI
Meetup Carreira em TI
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04
 
Aula 1 pc - slides
Aula 1   pc - slidesAula 1   pc - slides
Aula 1 pc - slides
 
AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration
AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration
AEL - Adaptive Execution Layer on Spark Cluster with Pentaho Data Integration
 

Plus de Adolfo Neto

How to clear out your unwanted books
How to clear out your unwanted booksHow to clear out your unwanted books
How to clear out your unwanted booksAdolfo Neto
 
The Elixir programming language community
The Elixir programming language communityThe Elixir programming language community
The Elixir programming language communityAdolfo Neto
 
Encontros de Usuários e Entusiastas de Métodos Ágeis no Brasil
Encontros de Usuários e Entusiastas de Métodos Ágeis no BrasilEncontros de Usuários e Entusiastas de Métodos Ágeis no Brasil
Encontros de Usuários e Entusiastas de Métodos Ágeis no BrasilAdolfo Neto
 
Coding Dojo - Unreal Engine - Sobre Unreal
Coding Dojo - Unreal Engine - Sobre UnrealCoding Dojo - Unreal Engine - Sobre Unreal
Coding Dojo - Unreal Engine - Sobre UnrealAdolfo Neto
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal EngineAdolfo Neto
 
Preocupações e Limitações no Desenvolvimento Ágil de Software: Um Levantame...
Preocupações e Limitações no Desenvolvimento  Ágil de Software:  Um Levantame...Preocupações e Limitações no Desenvolvimento  Ágil de Software:  Um Levantame...
Preocupações e Limitações no Desenvolvimento Ágil de Software: Um Levantame...Adolfo Neto
 
Agile Methods, Week 4: Test-Driven Development
Agile Methods, Week 4: Test-Driven DevelopmentAgile Methods, Week 4: Test-Driven Development
Agile Methods, Week 4: Test-Driven DevelopmentAdolfo Neto
 
How do software developers learn new tricks
How do software developers learn new tricksHow do software developers learn new tricks
How do software developers learn new tricksAdolfo Neto
 
Applications of Probabilistic Logic to Materials Discovery: Solving problems ...
Applications of Probabilistic Logic to Materials Discovery: Solving problems ...Applications of Probabilistic Logic to Materials Discovery: Solving problems ...
Applications of Probabilistic Logic to Materials Discovery: Solving problems ...Adolfo Neto
 
Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...
Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...
Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...Adolfo Neto
 
Business intelligence
Business intelligenceBusiness intelligence
Business intelligenceAdolfo Neto
 
Cholesterol is not an important risk factor for heart disease and current die...
Cholesterol is not an important risk factor for heart disease and current die...Cholesterol is not an important risk factor for heart disease and current die...
Cholesterol is not an important risk factor for heart disease and current die...Adolfo Neto
 
Quem foi Alan Turing?
Quem foi Alan Turing?Quem foi Alan Turing?
Quem foi Alan Turing?Adolfo Neto
 
Verificação de Programas
Verificação de ProgramasVerificação de Programas
Verificação de ProgramasAdolfo Neto
 
Especificação e Verificação de Programas
Especificação e Verificação de ProgramasEspecificação e Verificação de Programas
Especificação e Verificação de ProgramasAdolfo Neto
 
O método maffetone
O método maffetoneO método maffetone
O método maffetoneAdolfo Neto
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Introdução à Lógica
Introdução à LógicaIntrodução à Lógica
Introdução à LógicaAdolfo Neto
 

Plus de Adolfo Neto (20)

How to clear out your unwanted books
How to clear out your unwanted booksHow to clear out your unwanted books
How to clear out your unwanted books
 
The Elixir programming language community
The Elixir programming language communityThe Elixir programming language community
The Elixir programming language community
 
Encontros de Usuários e Entusiastas de Métodos Ágeis no Brasil
Encontros de Usuários e Entusiastas de Métodos Ágeis no BrasilEncontros de Usuários e Entusiastas de Métodos Ágeis no Brasil
Encontros de Usuários e Entusiastas de Métodos Ágeis no Brasil
 
Coding Dojo - Unreal Engine - Sobre Unreal
Coding Dojo - Unreal Engine - Sobre UnrealCoding Dojo - Unreal Engine - Sobre Unreal
Coding Dojo - Unreal Engine - Sobre Unreal
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal Engine
 
Preocupações e Limitações no Desenvolvimento Ágil de Software: Um Levantame...
Preocupações e Limitações no Desenvolvimento  Ágil de Software:  Um Levantame...Preocupações e Limitações no Desenvolvimento  Ágil de Software:  Um Levantame...
Preocupações e Limitações no Desenvolvimento Ágil de Software: Um Levantame...
 
Kanban
KanbanKanban
Kanban
 
Agile Methods, Week 4: Test-Driven Development
Agile Methods, Week 4: Test-Driven DevelopmentAgile Methods, Week 4: Test-Driven Development
Agile Methods, Week 4: Test-Driven Development
 
How do software developers learn new tricks
How do software developers learn new tricksHow do software developers learn new tricks
How do software developers learn new tricks
 
Applications of Probabilistic Logic to Materials Discovery: Solving problems ...
Applications of Probabilistic Logic to Materials Discovery: Solving problems ...Applications of Probabilistic Logic to Materials Discovery: Solving problems ...
Applications of Probabilistic Logic to Materials Discovery: Solving problems ...
 
Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...
Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...
Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...
 
Business intelligence
Business intelligenceBusiness intelligence
Business intelligence
 
Cholesterol is not an important risk factor for heart disease and current die...
Cholesterol is not an important risk factor for heart disease and current die...Cholesterol is not an important risk factor for heart disease and current die...
Cholesterol is not an important risk factor for heart disease and current die...
 
Quem foi Alan Turing?
Quem foi Alan Turing?Quem foi Alan Turing?
Quem foi Alan Turing?
 
Verificação de Programas
Verificação de ProgramasVerificação de Programas
Verificação de Programas
 
Especificação e Verificação de Programas
Especificação e Verificação de ProgramasEspecificação e Verificação de Programas
Especificação e Verificação de Programas
 
O método maffetone
O método maffetoneO método maffetone
O método maffetone
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 
Introdução à Lógica
Introdução à LógicaIntrodução à Lógica
Introdução à Lógica
 

Programando em Elixir

  • 1. Programando em Elixir: Um ponto de vista acadêmico Adolfo Neto (PPGCA-DAINF-UTFPR) @adolfont bit.ly/adolfontEn
  • 2. 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
  • 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 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
  • 5. Seven Languages in Seven Weeks
  • 6. Seven Languages in Seven Weeks ● Prolog ● Clojure ● Haskell ● Scala ● Erlang ● Ruby ● Io
  • 7. 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)
  • 11. 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/
  • 12. 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
  • 14. Usando com alunos de Lógica https://gist.github.com/adolfont/521de03e09c8fac65b192302521f3b5b
  • 17. 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
  • 18. Projetos ● Mais Ensino de Lógica ● Ecossistema de Elixir (Meetups, Fóruns, Livros, Podcasts etc.) ● DPLL (SAT Solver) em Elixir
  • 19. Erlang 2017 at ICFP http://icfp17.sigplan.org/track/erlang-2017-papers#About
  • 20. FIM “This is good shit.” Joe Armstrong Criador do Erlang http://joearms.github.io/2013/05/31/a-week-with-elixir.html