SlideShare uma empresa Scribd logo
1 de 26
ScalaCamp
Meetup parte I
Agradecimentos
GBG Curitiba
Atitude Empreendedora
Centro Europeu
Unistart
Não Há uma linguagem
melhor que a outra.
Mas pode haver uma combinação (equipe + linguagem)
mais competitiva.
Roteiro
• Parte I: Instalação e “Alô Mundo”
• Instale ferramentas | Porquês
• Teste a instalação | Porquês
• Crie e execute “Alô Mundo”
• Exercícios
Inovação
• Inovação de produto
• Inovação de processo
Ferramentas
• https://www.jetbrains.com/idea/
• http://www.oracle.com/technetwork/pt
/java/javase/downloads/index.html
• http://scalacamp.com.br
Porquê #1: JVM
• 21 anos em constante
evolução.
• #1 TIOBE (Fev 2017), #1
desde 2004 se considerarmos
somente OO.
• Grande número de bibliotecas
de código aberto.
Orientação a Objeto (OO)
Porquê #2
• Encapsulamento.
• Reformulação (refactoring).
• Domain Driven Design.
Tipos Estáticos
Porquê #3
• Velocidade x Consistência
Tipos Estáticos
• Consistência x Complexidade
Exercício
• Enquanto a instalação não termina: https://scalafiddle.io/
Expressões
Porquê #4
• Usando o REPL
Tratamento de nulos
Porquê #5
• Option[T]
“Pattern Matching”
Porquê #6
• Option[T] tem duas subclasses: Some e None
Paradigma funcional
Porquê #7
• Scala = OO + funcional (multiparadigma)
“You are not alone”
Porquê #8 -> Porquê #1
• Scala Build Tool - SBT
Alô Mundo
O mais simples possível
Alô Mundo
Algo a mais
Alô Mundo
Argumentos, controle de nulos, coleções
Alô Mundo Web
Com Spring Boot
Muito obrigado.
mauricio@iservport.com
Maurício Fernandes de Castro
Apresentado durante a primeira reunião ScalaCamp, Curitiba, 2017
mvpsustentavel.com.br
Visite também:
scalacamp.com.br

Mais conteúdo relacionado

Mais procurados

Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Renato Groff
 
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCCTDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCCStefan Teixeira
 
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...Stefan Teixeira
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Javatdc-globalcode
 

Mais procurados (6)

Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
 
Robowiki
RobowikiRobowiki
Robowiki
 
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCCTDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
 
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
 
Seminário: Delphi
Seminário: DelphiSeminário: Delphi
Seminário: Delphi
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Java
 

Destaque

PresentacióN Postales de Guayaquil
PresentacióN Postales de GuayaquilPresentacióN Postales de Guayaquil
PresentacióN Postales de GuayaquilGalo Salazar Murillo
 
Trabajo Práctico Nº 1 Blog Bitácora Tic
Trabajo Práctico Nº 1 Blog Bitácora TicTrabajo Práctico Nº 1 Blog Bitácora Tic
Trabajo Práctico Nº 1 Blog Bitácora TicAmalia Boccolini
 
Anexo Escuela de Educación Secundaria Orientada N° 1552
Anexo Escuela de Educación Secundaria  Orientada N° 1552Anexo Escuela de Educación Secundaria  Orientada N° 1552
Anexo Escuela de Educación Secundaria Orientada N° 1552verozonteponte
 
Curriculum night
Curriculum night Curriculum night
Curriculum night cindy ashe
 
600-p
600-p600-p
600-pbriwa
 
EL DESASTRE ECOLÓGICO OCURRIDO EN LAS MINAS DE AZNALCOLLAR
EL DESASTRE ECOLÓGICO OCURRIDO EN LAS MINAS DE AZNALCOLLAREL DESASTRE ECOLÓGICO OCURRIDO EN LAS MINAS DE AZNALCOLLAR
EL DESASTRE ECOLÓGICO OCURRIDO EN LAS MINAS DE AZNALCOLLARPaloma Jimenez
 
Wiad interface-acessivel-educacao-distancia-5dias
Wiad interface-acessivel-educacao-distancia-5diasWiad interface-acessivel-educacao-distancia-5dias
Wiad interface-acessivel-educacao-distancia-5diasJonathas Scott
 
Cómo acceder al material de lectura de la Unidad 1
Cómo acceder al material de lectura de la Unidad 1Cómo acceder al material de lectura de la Unidad 1
Cómo acceder al material de lectura de la Unidad 1verozonteponte
 
Características de adobe flash
Características de adobe flashCaracterísticas de adobe flash
Características de adobe flashDaniela Yunuen
 

Destaque (16)

Sebastian
SebastianSebastian
Sebastian
 
Cv Azmy
Cv AzmyCv Azmy
Cv Azmy
 
Comercio exterior
Comercio exteriorComercio exterior
Comercio exterior
 
Perseverancia
PerseveranciaPerseverancia
Perseverancia
 
PresentacióN Postales de Guayaquil
PresentacióN Postales de GuayaquilPresentacióN Postales de Guayaquil
PresentacióN Postales de Guayaquil
 
Trabajo Práctico Nº 1 Blog Bitácora Tic
Trabajo Práctico Nº 1 Blog Bitácora TicTrabajo Práctico Nº 1 Blog Bitácora Tic
Trabajo Práctico Nº 1 Blog Bitácora Tic
 
Genealogia Salazar Torres
Genealogia Salazar   TorresGenealogia Salazar   Torres
Genealogia Salazar Torres
 
0810265
08102650810265
0810265
 
Anexo Escuela de Educación Secundaria Orientada N° 1552
Anexo Escuela de Educación Secundaria  Orientada N° 1552Anexo Escuela de Educación Secundaria  Orientada N° 1552
Anexo Escuela de Educación Secundaria Orientada N° 1552
 
Curriculum night
Curriculum night Curriculum night
Curriculum night
 
600-p
600-p600-p
600-p
 
EL DESASTRE ECOLÓGICO OCURRIDO EN LAS MINAS DE AZNALCOLLAR
EL DESASTRE ECOLÓGICO OCURRIDO EN LAS MINAS DE AZNALCOLLAREL DESASTRE ECOLÓGICO OCURRIDO EN LAS MINAS DE AZNALCOLLAR
EL DESASTRE ECOLÓGICO OCURRIDO EN LAS MINAS DE AZNALCOLLAR
 
Generations - NSFA 2015
Generations - NSFA 2015Generations - NSFA 2015
Generations - NSFA 2015
 
Wiad interface-acessivel-educacao-distancia-5dias
Wiad interface-acessivel-educacao-distancia-5diasWiad interface-acessivel-educacao-distancia-5dias
Wiad interface-acessivel-educacao-distancia-5dias
 
Cómo acceder al material de lectura de la Unidad 1
Cómo acceder al material de lectura de la Unidad 1Cómo acceder al material de lectura de la Unidad 1
Cómo acceder al material de lectura de la Unidad 1
 
Características de adobe flash
Características de adobe flashCaracterísticas de adobe flash
Características de adobe flash
 

Semelhante a Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I

Java não é tão difícil quanto parece
Java não é tão difícil quanto pareceJava não é tão difícil quanto parece
Java não é tão difícil quanto parecejesuinoPower
 
TDC2018SP | Trilha Python - Tarefas distribuidas com Python e Celery
TDC2018SP | Trilha Python - Tarefas distribuidas com Python e CeleryTDC2018SP | Trilha Python - Tarefas distribuidas com Python e Celery
TDC2018SP | Trilha Python - Tarefas distribuidas com Python e Celerytdc-globalcode
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Durotdc-globalcode
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011Frederico Maia Arantes
 
Lightining Talk - Testes Unitários
Lightining Talk - Testes UnitáriosLightining Talk - Testes Unitários
Lightining Talk - Testes UnitáriosDiogo Salaberri
 
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Renato Groff
 
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Renato Groff
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Renato Groff
 
Ambientes de Desenvolvimento, Groupware, MOOC's
Ambientes de Desenvolvimento, Groupware, MOOC'sAmbientes de Desenvolvimento, Groupware, MOOC's
Ambientes de Desenvolvimento, Groupware, MOOC'sJoão Pedro Daltro
 

Semelhante a Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I (20)

Java não é tão difícil quanto parece
Java não é tão difícil quanto pareceJava não é tão difícil quanto parece
Java não é tão difícil quanto parece
 
Titanium appacelerator
Titanium appaceleratorTitanium appacelerator
Titanium appacelerator
 
TDC2018SP | Trilha Python - Tarefas distribuidas com Python e Celery
TDC2018SP | Trilha Python - Tarefas distribuidas com Python e CeleryTDC2018SP | Trilha Python - Tarefas distribuidas com Python e Celery
TDC2018SP | Trilha Python - Tarefas distribuidas com Python e Celery
 
Java virtual machine quantas linguas fala a jvm2
Java virtual machine   quantas linguas fala a jvm2Java virtual machine   quantas linguas fala a jvm2
Java virtual machine quantas linguas fala a jvm2
 
Machine Learning Black Boxes
Machine Learning Black BoxesMachine Learning Black Boxes
Machine Learning Black Boxes
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
Por que Java?
Por que Java?Por que Java?
Por que Java?
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011
 
Lightining Talk - Testes Unitários
Lightining Talk - Testes UnitáriosLightining Talk - Testes Unitários
Lightining Talk - Testes Unitários
 
Dr Java Virtual Machine
Dr Java Virtual MachineDr Java Virtual Machine
Dr Java Virtual Machine
 
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
 
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
 
Por dentro da jvm
Por dentro da jvmPor dentro da jvm
Por dentro da jvm
 
Fundamentos Java - 01
Fundamentos Java - 01Fundamentos Java - 01
Fundamentos Java - 01
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
 
Java v1.1
Java v1.1Java v1.1
Java v1.1
 
Aula 1a.ppt
Aula 1a.pptAula 1a.ppt
Aula 1a.ppt
 
Ambientes de Desenvolvimento, Groupware, MOOC's
Ambientes de Desenvolvimento, Groupware, MOOC'sAmbientes de Desenvolvimento, Groupware, MOOC's
Ambientes de Desenvolvimento, Groupware, MOOC's
 

Mais de Mauricio Fernandes de Castro (16)

Zio motivation to create ZIO-native http package
Zio motivation to create ZIO-native http packageZio motivation to create ZIO-native http package
Zio motivation to create ZIO-native http package
 
Apresentação do Aplicativo de Controle de Combustíveis
Apresentação do Aplicativo de Controle de CombustíveisApresentação do Aplicativo de Controle de Combustíveis
Apresentação do Aplicativo de Controle de Combustíveis
 
tece-report-1
tece-report-1tece-report-1
tece-report-1
 
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte II
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte IIMeetup ScalaCamp Curitiba, Fevereiro de 2017, Parte II
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte II
 
Intellij windows
Intellij windowsIntellij windows
Intellij windows
 
Capital Humano no Setor de TI
Capital Humano no Setor de TICapital Humano no Setor de TI
Capital Humano no Setor de TI
 
MVP Sustentável
MVP SustentávelMVP Sustentável
MVP Sustentável
 
Akka basics
Akka basicsAkka basics
Akka basics
 
Estrategia digital, uma visão associativista
Estrategia digital, uma visão associativistaEstrategia digital, uma visão associativista
Estrategia digital, uma visão associativista
 
Iservport recipes
Iservport recipesIservport recipes
Iservport recipes
 
CQRS/ES com Lagom
CQRS/ES com LagomCQRS/ES com Lagom
CQRS/ES com Lagom
 
ScalaCamp Meetup - Coleções em Scala
ScalaCamp Meetup - Coleções em ScalaScalaCamp Meetup - Coleções em Scala
ScalaCamp Meetup - Coleções em Scala
 
iservport - Uma Plataforma de Monitoramento para sua empresa e sua rede de ne...
iservport - Uma Plataforma de Monitoramento para sua empresa e sua rede de ne...iservport - Uma Plataforma de Monitoramento para sua empresa e sua rede de ne...
iservport - Uma Plataforma de Monitoramento para sua empresa e sua rede de ne...
 
Scala why
Scala whyScala why
Scala why
 
Iservport circle-game
Iservport circle-gameIservport circle-game
Iservport circle-game
 
O efeito chaminé.
O efeito chaminé.O efeito chaminé.
O efeito chaminé.
 

Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte I