Enviar pesquisa
Carregar
Programação funcional: Novos horizontes para a expansão da consciência
•
Transferir como PPTX, PDF
•
6 gostaram
•
921 visualizações
Título melhorado com IA
A
Andrei Formiga
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 41
Baixar agora
Recomendados
Scala: Programação OO, Funcional e Concorrente na JVM
Scala: Programação OO, Funcional e Concorrente na JVM
Andrei Formiga
Estruturas de Dados - Listas Encadeadas (Linked List)
Estruturas de Dados - Listas Encadeadas (Linked List)
Erick Petrucelli
Orientação a objetos (tecnologias)
Orientação a objetos (tecnologias)
Fábio Nogueira de Lucena
POO - 12 - A Classe Object
POO - 12 - A Classe Object
Ludimila Monjardim Casagrande
POO - 14 - Vetores
POO - 14 - Vetores
Ludimila Monjardim Casagrande
POO - 04 - Variávies em Java
POO - 04 - Variávies em Java
Ludimila Monjardim Casagrande
Manipulação de Datas em Java
Manipulação de Datas em Java
Sidney Roberto
POO - 13 - Arrays em Java
POO - 13 - Arrays em Java
Ludimila Monjardim Casagrande
Recomendados
Scala: Programação OO, Funcional e Concorrente na JVM
Scala: Programação OO, Funcional e Concorrente na JVM
Andrei Formiga
Estruturas de Dados - Listas Encadeadas (Linked List)
Estruturas de Dados - Listas Encadeadas (Linked List)
Erick Petrucelli
Orientação a objetos (tecnologias)
Orientação a objetos (tecnologias)
Fábio Nogueira de Lucena
POO - 12 - A Classe Object
POO - 12 - A Classe Object
Ludimila Monjardim Casagrande
POO - 14 - Vetores
POO - 14 - Vetores
Ludimila Monjardim Casagrande
POO - 04 - Variávies em Java
POO - 04 - Variávies em Java
Ludimila Monjardim Casagrande
Manipulação de Datas em Java
Manipulação de Datas em Java
Sidney Roberto
POO - 13 - Arrays em Java
POO - 13 - Arrays em Java
Ludimila Monjardim Casagrande
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
Ludimila Monjardim Casagrande
Java Básico :: Classe Vector
Java Básico :: Classe Vector
Wesley R. Bezerra
POO - 03 - Alocação de Memória em Java
POO - 03 - Alocação de Memória em Java
Ludimila Monjardim Casagrande
ExercíCios Grupo De Estudo Java Atualizado
ExercíCios Grupo De Estudo Java Atualizado
Ricardo Liyushiro Chikasawa
Project coin pequenas mudanças grandes facilidades
Project coin pequenas mudanças grandes facilidades
Marcelo de Castro
Refatoração e Boas Práticas no Desenvolvimento de Software com a Linguagem Ja...
Refatoração e Boas Práticas no Desenvolvimento de Software com a Linguagem Ja...
Tchelinux
Curso de Matlab basico
Curso de Matlab basico
Gabriel Costa
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
Mario Jorge Pereira
Dinamicas
Dinamicas
Ialis Cavalcante
Novidades java 7
Novidades java 7
Wellington Pinheiro
Objetos Pythonicos - compacto
Objetos Pythonicos - compacto
Luciano Ramalho
Curso java 04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
Maurício Linhares
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
Leonardo Melo Santos
Java6
Java6
Robson Silva Espig
Curso java 03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
Maurício Linhares
POO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
Ludimila Monjardim Casagrande
Java7
Java7
Robson Silva Espig
Semana 9: toString, classes, instâncias e objectos, Scanner
Semana 9: toString, classes, instâncias e objectos, Scanner
Manuel Menezes de Sequeira
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
Luciano Ramalho
O que é que o Java não tem?
O que é que o Java não tem?
Denis Costa
Aula 14 - Funções: não duplique seu código
Aula 14 - Funções: não duplique seu código
Luiz Augusto Macêdo Morais
Tdc2010 web
Tdc2010 web
Ramon Oliveira
Mais conteúdo relacionado
Mais procurados
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
Ludimila Monjardim Casagrande
Java Básico :: Classe Vector
Java Básico :: Classe Vector
Wesley R. Bezerra
POO - 03 - Alocação de Memória em Java
POO - 03 - Alocação de Memória em Java
Ludimila Monjardim Casagrande
ExercíCios Grupo De Estudo Java Atualizado
ExercíCios Grupo De Estudo Java Atualizado
Ricardo Liyushiro Chikasawa
Project coin pequenas mudanças grandes facilidades
Project coin pequenas mudanças grandes facilidades
Marcelo de Castro
Refatoração e Boas Práticas no Desenvolvimento de Software com a Linguagem Ja...
Refatoração e Boas Práticas no Desenvolvimento de Software com a Linguagem Ja...
Tchelinux
Curso de Matlab basico
Curso de Matlab basico
Gabriel Costa
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
Mario Jorge Pereira
Dinamicas
Dinamicas
Ialis Cavalcante
Novidades java 7
Novidades java 7
Wellington Pinheiro
Objetos Pythonicos - compacto
Objetos Pythonicos - compacto
Luciano Ramalho
Curso java 04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
Maurício Linhares
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
Leonardo Melo Santos
Java6
Java6
Robson Silva Espig
Curso java 03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
Maurício Linhares
POO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
Ludimila Monjardim Casagrande
Java7
Java7
Robson Silva Espig
Semana 9: toString, classes, instâncias e objectos, Scanner
Semana 9: toString, classes, instâncias e objectos, Scanner
Manuel Menezes de Sequeira
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
Luciano Ramalho
Mais procurados
(19)
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
Java Básico :: Classe Vector
Java Básico :: Classe Vector
POO - 03 - Alocação de Memória em Java
POO - 03 - Alocação de Memória em Java
ExercíCios Grupo De Estudo Java Atualizado
ExercíCios Grupo De Estudo Java Atualizado
Project coin pequenas mudanças grandes facilidades
Project coin pequenas mudanças grandes facilidades
Refatoração e Boas Práticas no Desenvolvimento de Software com a Linguagem Ja...
Refatoração e Boas Práticas no Desenvolvimento de Software com a Linguagem Ja...
Curso de Matlab basico
Curso de Matlab basico
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
Dinamicas
Dinamicas
Novidades java 7
Novidades java 7
Objetos Pythonicos - compacto
Objetos Pythonicos - compacto
Curso java 04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
Java6
Java6
Curso java 03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
POO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
Java7
Java7
Semana 9: toString, classes, instâncias e objectos, Scanner
Semana 9: toString, classes, instâncias e objectos, Scanner
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
Semelhante a Programação funcional: Novos horizontes para a expansão da consciência
O que é que o Java não tem?
O que é que o Java não tem?
Denis Costa
Aula 14 - Funções: não duplique seu código
Aula 14 - Funções: não duplique seu código
Luiz Augusto Macêdo Morais
Tdc2010 web
Tdc2010 web
Ramon Oliveira
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine Orm
Guilherme Blanco
Evolução e futuro do uso de paradigmas no JavaScript
Evolução e futuro do uso de paradigmas no JavaScript
Jean Carlo Emer
Code Smells
Code Smells
Rodrigo Branas
Java e orientação a objetos
Java e orientação a objetos
Frederico Maia Arantes
Javascript
Javascript
Fernando Simeone
Scala java7
Scala java7
Andrei Formiga
Questionário de automação industrial
Questionário de automação industrial
Sandro Marques Solidario
Poo Aula 02
Poo Aula 02
diasfranco1
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
Eiti Kimura
Programação Reativa e Funcional e extensões para PHP
Programação Reativa e Funcional e extensões para PHP
Juliana Chahoud
Java - Introdução a banco de dados
Java - Introdução a banco de dados
Sérgio Souza Costa
TDC2018SP | Trilha Python - Nao e magia, e tecnologia
TDC2018SP | Trilha Python - Nao e magia, e tecnologia
tdc-globalcode
JavaScript - A Linguagem
JavaScript - A Linguagem
Sérgio Souza Costa
TDC2016SP - SparkMLlib Machine Learning na Prática
TDC2016SP - SparkMLlib Machine Learning na Prática
tdc-globalcode
Maven - TDC FLN 2013
Maven - TDC FLN 2013
Aldrin Leal
JavaScript agora é sério (TDC 2011)
JavaScript agora é sério (TDC 2011)
Luciano Ramalho
Apresentando o EcmaScript 6
Apresentando o EcmaScript 6
Giovanni Bassi
Semelhante a Programação funcional: Novos horizontes para a expansão da consciência
(20)
O que é que o Java não tem?
O que é que o Java não tem?
Aula 14 - Funções: não duplique seu código
Aula 14 - Funções: não duplique seu código
Tdc2010 web
Tdc2010 web
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine Orm
Evolução e futuro do uso de paradigmas no JavaScript
Evolução e futuro do uso de paradigmas no JavaScript
Code Smells
Code Smells
Java e orientação a objetos
Java e orientação a objetos
Javascript
Javascript
Scala java7
Scala java7
Questionário de automação industrial
Questionário de automação industrial
Poo Aula 02
Poo Aula 02
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
Programação Reativa e Funcional e extensões para PHP
Programação Reativa e Funcional e extensões para PHP
Java - Introdução a banco de dados
Java - Introdução a banco de dados
TDC2018SP | Trilha Python - Nao e magia, e tecnologia
TDC2018SP | Trilha Python - Nao e magia, e tecnologia
JavaScript - A Linguagem
JavaScript - A Linguagem
TDC2016SP - SparkMLlib Machine Learning na Prática
TDC2016SP - SparkMLlib Machine Learning na Prática
Maven - TDC FLN 2013
Maven - TDC FLN 2013
JavaScript agora é sério (TDC 2011)
JavaScript agora é sério (TDC 2011)
Apresentando o EcmaScript 6
Apresentando o EcmaScript 6
Programação funcional: Novos horizontes para a expansão da consciência
1.
ProgramaçãoFuncional: NovosHorizontespara a
Expansão da Consciência Andrei de Araújo Formiga @andreiformiga
2.
3.
4.
5.
Transmutation
6.
Conjuration
7.
Divination
8.
Enchantment
9.
Evocation
10.
Illusion
11.
12.
13.
14.
15.
Lambda-cálculo
16.
17.
18.
“Global variables are
evil”
19.
Aliasing
20.
Mais de umareferênciapara
o mesmoobjeto
21.
22.
Análisesestáticas
23.
Segurança
24.
Corretude
25.
26.
27.
Passagem de Mensagens
28.
29.
Cidadãos de 1aclasse
30.
Efeitoscolateraiscontrolados
31.
32.
Inferência de tipos
33.
Pattern matching
34.
35.
Avaliaçãopreguiçosa (lazy)
36.
Continuações
37.
38.
Muitasinovaçõessurgiram 1onaslinguagensfuncionais
39.
40.
41.
42.
Standard ML /
OCaml / F#
43.
Haskell
44.
Scala
45.
Erlang
46.
47.
“JavaScript is the
first lambda language to go mainstream” JavaScript: The Good Parts, Douglas Crockford
48.
49.
Funções de 1aclasse
50.
51.
Callbacks e Eventos
52.
53.
Funçõesem JS function
reduce(f, a, i) { varres = i; for (iin a) res = f(res, a[i]); return res; } reduce(function (s, x) { return s + x }, [4, 5, 10, 8, 12, 2, 1, 9], 0) > 51
54.
Disponívelem um JavaScript
próximo de você vara = [4, 5, 10, 8, 12, 2, 1, 9]; a.filter(function (x) { return x > 5 }) > [10, 8, 12, 9] a.reduce(function (s, x) { returns+x }) > 51
55.
Anamorfismo = reduce
56.
57.
return
58.
bind
59.
60.
61.
Mônadasem JS functionCookie(val)
{ // armazena dado em um cookie } Cookie.prototype.ret = function (v) { returnnew Cookie(v); } Cookie.prototype.bind = function(f) { returnnew Cookie( f(this.get()) ); }
62.
Mônadasem JS var
cookie2 = cookie1.bind(morfar)
63.
MônadascontrolamEfeitos Haskell: efeitossópodemacontecerdentro
de mônadas
64.
MônadascontrolamEfeitos Experiência: maior
parte do códigonãoprecisa de efeitos
65.
Efeitos e Concorrência
Se nãoháefeitoscompartilhados, paralelizarétrivial.
66.
“once you get
the hang of it, functional programming is really fun” JavaScript: The Good Parts, Douglas Crockford
67.
Para AprenderMais mitpress.mit.edu/sicp
68.
Para AprenderMais htdp.org
69.
Para AprenderMais The
Functional Approach to Programming
70.
Obrigado! @andreiformiga
Baixar agora