SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Scala 2.10
          Da programação funcional às novas
                      features




@diego_pacheco
Software Architect | Agile Coach
http://www.flickr.com/photos/diego-pacheco/4851310207/sizes/l/in/photostream/
                                   pacheco/4851310207/sizes/l/in/photostream/




                                                                      Sim,

                                                                      com TI…

                                                     @diego_pacheco
                                                                      Eu trabalho




                 http://diego-pacheco.blogspot.com
Estamos contratando: curriculos@ilegra.com I ilegra.com
Por que FP?
• Uma forma diferente de pensar
• Programação declarativa
• Menos código (instruções) e mais dados
• Melhor Programação concorrente e parallela (estado disciplinado)
• Código mais “Correto” (propriedade matemática das funções)
• Ideias “velhas” / sólidas vindas de LISP e Haskell
• Está voltando com tudo, mas com uma nova roupagem
FP vs Prog. Imperativa

Imperativa
 1. Pega o café
 2. Coloca o café na xícara
 3. Coloca água quente na xícara
 5. Mexe o café com a água
 4. retorna o café

Funcional
 retorna mexe (água, coloca (café, xícara))
High Order Functions
Anonymous Functions (Scala)
Anonymous Functions (Java)
Partial Functions (Scala)
Partial Functions (Java)
Curriyng (Scala)
Curriyng (Java)
Case Class (Scala)
Case Class (Java)
Pattern Matcher (Scala)
Pattern Matcher (Java)
More Functions...
More Functions...
More Functions...
Scala 2.10
Scala 2.10 - Dynamic
Scala 2.10 – String Interpolation
Scala 2.10 – Reflection
Scala 2.10 – Reflection
Scala 2.10 – implicit Class
Scala 2.10 – Value Class
Scala 2.10 – Better Implicit
Fontes!
  https://github.com/diegopacheco/Diego-Pacheco-
  Sandbox/tree/master/scripts/scala/scala-2.10-playground

 https://github.com/diegopacheco/Diego-Pacheco-
 Sandbox/tree/master/scripts/scala/scala_2.10_da_prog_funciona
 l_as_novas_features_scala

 https://github.com/diegopacheco/Diego-Pacheco-
 Sandbox/tree/master/scripts/scala/scala_2.10_da_prog_funcional
 _as_novas_features_java


@diego_pacheco
Software Architect | Agile Coach
Scala 2.10
           Da programação funcional às novas
                       features

              Obrigado !!!

@diego_pacheco
Software Architect | Agile Coach

Mais conteúdo relacionado

Mais procurados (6)

Plsql - Conceitos Básicos
Plsql - Conceitos BásicosPlsql - Conceitos Básicos
Plsql - Conceitos Básicos
 
Programacao Funcional Em Ruby
Programacao Funcional Em RubyProgramacao Funcional Em Ruby
Programacao Funcional Em Ruby
 
Porque React & GraphQL pode ser uma boa para você - Diogo Augusto Oliveira
Porque React & GraphQL pode ser uma boa para você - Diogo Augusto OliveiraPorque React & GraphQL pode ser uma boa para você - Diogo Augusto Oliveira
Porque React & GraphQL pode ser uma boa para você - Diogo Augusto Oliveira
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
 
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasProcesso de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 

Semelhante a Scala

Solisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para PostgresqlSolisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para Postgresql
Leonardo Medeiros Martins
 
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
MoisesInacio
 
Java Server Pages
Java Server PagesJava Server Pages
Java Server Pages
Ivo Calado
 
Planode Aula
Planode AulaPlanode Aula
Planode Aula
softeam
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
Rangel Javier
 
00. apresentacao da disciplina
00. apresentacao da disciplina00. apresentacao da disciplina
00. apresentacao da disciplina
Everton De Grande
 

Semelhante a Scala (20)

TDC 2014 POA: Programacao funcional Por que Importa?
TDC 2014 POA: Programacao funcional Por que Importa?TDC 2014 POA: Programacao funcional Por que Importa?
TDC 2014 POA: Programacao funcional Por que Importa?
 
Solisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para PostgresqlSolisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para Postgresql
 
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
 
Certificacoes java
Certificacoes javaCertificacoes java
Certificacoes java
 
Oracle T Opgsql
Oracle T OpgsqlOracle T Opgsql
Oracle T Opgsql
 
Java Server Pages
Java Server PagesJava Server Pages
Java Server Pages
 
Plugins
PluginsPlugins
Plugins
 
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhorPorque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
 
Planode Aula
Planode AulaPlanode Aula
Planode Aula
 
Jpa de a à z por que conhecer jpa
Jpa de a à z  por que conhecer jpa Jpa de a à z  por que conhecer jpa
Jpa de a à z por que conhecer jpa
 
URCAMP (Jun2017) - Como o papel e atividades de DBA ficam no contexto da cult...
URCAMP (Jun2017) - Como o papel e atividades de DBA ficam no contexto da cult...URCAMP (Jun2017) - Como o papel e atividades de DBA ficam no contexto da cult...
URCAMP (Jun2017) - Como o papel e atividades de DBA ficam no contexto da cult...
 
Programação Orientada a Aspectos
Programação Orientada a AspectosProgramação Orientada a Aspectos
Programação Orientada a Aspectos
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Python e Django
Python e DjangoPython e Django
Python e Django
 
Lampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraLampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 Palestra
 
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...
 
Jenkins por dentro e por fora - Oracle Code São Paulo 2018
Jenkins por dentro e por fora - Oracle Code São Paulo 2018Jenkins por dentro e por fora - Oracle Code São Paulo 2018
Jenkins por dentro e por fora - Oracle Code São Paulo 2018
 
Introdução ao GraphQL - Uma nova forma de criar APIs
Introdução ao GraphQL - Uma nova forma de criar APIsIntrodução ao GraphQL - Uma nova forma de criar APIs
Introdução ao GraphQL - Uma nova forma de criar APIs
 
00. apresentacao da disciplina
00. apresentacao da disciplina00. apresentacao da disciplina
00. apresentacao da disciplina
 
Curso C# em Mono - Orientação a Objeto Basico
Curso C# em Mono - Orientação a Objeto BasicoCurso C# em Mono - Orientação a Objeto Basico
Curso C# em Mono - Orientação a Objeto Basico
 

Mais de Diego Pacheco

Mais de Diego Pacheco (20)

Naming Things Book : Simple Book Review!
Naming Things Book : Simple Book Review!Naming Things Book : Simple Book Review!
Naming Things Book : Simple Book Review!
 
Continuous Discovery Habits Book Review.pdf
Continuous Discovery Habits  Book Review.pdfContinuous Discovery Habits  Book Review.pdf
Continuous Discovery Habits Book Review.pdf
 
Thoughts about Shape Up
Thoughts about Shape UpThoughts about Shape Up
Thoughts about Shape Up
 
Holacracy
HolacracyHolacracy
Holacracy
 
AWS IAM
AWS IAMAWS IAM
AWS IAM
 
CDKs
CDKsCDKs
CDKs
 
Encryption Deep Dive
Encryption Deep DiveEncryption Deep Dive
Encryption Deep Dive
 
Sec 101
Sec 101Sec 101
Sec 101
 
Reflections on SCM
Reflections on SCMReflections on SCM
Reflections on SCM
 
Management: Doing the non-obvious! III
Management: Doing the non-obvious! IIIManagement: Doing the non-obvious! III
Management: Doing the non-obvious! III
 
Design is not Subjective
Design is not SubjectiveDesign is not Subjective
Design is not Subjective
 
Architecture & Engineering : Doing the non-obvious!
Architecture & Engineering :  Doing the non-obvious!Architecture & Engineering :  Doing the non-obvious!
Architecture & Engineering : Doing the non-obvious!
 
Management doing the non-obvious II
Management doing the non-obvious II Management doing the non-obvious II
Management doing the non-obvious II
 
Testing in production
Testing in productionTesting in production
Testing in production
 
Nine lies about work
Nine lies about workNine lies about work
Nine lies about work
 
Management: doing the nonobvious!
Management: doing the nonobvious!Management: doing the nonobvious!
Management: doing the nonobvious!
 
AI and the Future
AI and the FutureAI and the Future
AI and the Future
 
Dealing with dependencies
Dealing  with dependenciesDealing  with dependencies
Dealing with dependencies
 
Dealing with dependencies in tests
Dealing  with dependencies in testsDealing  with dependencies in tests
Dealing with dependencies in tests
 
Kanban 2020
Kanban 2020Kanban 2020
Kanban 2020
 

Scala