SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
Just Groovy!
Por	
  Ismael	
  Soares
Linguagem	
  dinâmica	
  
baseada	
  no	
  Java
Roda	
  na	
  JVM
Simplificar	
  a	
  vida	
  do	
  programador	
  Java
Eu sou super Java
Fácil de aprender
Qualquer	
  programador	
  	
  
Java	
  é	
  um	
  programador	
  Groovy
move	
  forward	
  at	
  	
  3.	
  km/h
Expressivo!
Conciso!
Legível
Domain	
  Specific	
  	
  
Languages
Ótimo	
  para	
  Scripting
Integração	
  perfeita	
  e	
  	
  
interoperabilidade	
  	
  
com	
  Java!
public	
  class	
  Main	
  {

	
   public	
  static	
  void	
  main(String[]	
  args)	
  {	

	
  	
  	
  	
  	
  	
  System.out.println("Hello");	
  
	
   }	
  
}
Scripts	
  Vs	
  Classes
println	
  "Hello"
A	
  CONCORRÊNCIA…
Sintaxe	
  nativa
Créditos
http://pt.slideshare.net/jaxLondonConference/what-makes-groovy-groovy-guillaume-laforge-pivotal
Códigos usados nesta apresentação:
Obrigado
@rkmael
rkmael@hotmail.com
rkmael.com

Más contenido relacionado

La actualidad más candente

Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panosLaís Lima
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panosLaís Lima
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04Carlos Santos
 
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVinícius Krolow
 
Super tests - TDC 2014 - Node.js
Super tests - TDC 2014 - Node.jsSuper tests - TDC 2014 - Node.js
Super tests - TDC 2014 - Node.jsMarcos Bérgamo
 
Implementando Entrega Contínua- Parte 2
Implementando Entrega Contínua- Parte 2Implementando Entrega Contínua- Parte 2
Implementando Entrega Contínua- Parte 2Thoughtworks
 
Django Channels - Aplicações real time com Django
Django Channels - Aplicações real time com DjangoDjango Channels - Aplicações real time com Django
Django Channels - Aplicações real time com DjangoPaula Grangeiro
 
Convenções de código para a linguagem de programação
Convenções de código para a linguagem de programaçãoConvenções de código para a linguagem de programação
Convenções de código para a linguagem de programaçãoalyssontmv
 
Serverless e Java: essa combinação é possível
Serverless e Java: essa combinação é possívelServerless e Java: essa combinação é possível
Serverless e Java: essa combinação é possívelEvandro Pires da Silva
 
Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoLeonardo Galani
 
Steak (Oxente Rails)
Steak (Oxente Rails)Steak (Oxente Rails)
Steak (Oxente Rails)Daniel Lopes
 
Entendendo um pouco melhor o que é Ruby
Entendendo um pouco melhor o que é RubyEntendendo um pouco melhor o que é Ruby
Entendendo um pouco melhor o que é Rubycodeland
 
Produtividade nas Trincheiras - As armas do desenvolvedor web
Produtividade nas Trincheiras - As armas do desenvolvedor webProdutividade nas Trincheiras - As armas do desenvolvedor web
Produtividade nas Trincheiras - As armas do desenvolvedor webJulio Bitencourt
 

La actualidad más candente (20)

ASP.NET MVC 3
ASP.NET MVC 3ASP.NET MVC 3
ASP.NET MVC 3
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04
 
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizado
 
Super tests - TDC 2014 - Node.js
Super tests - TDC 2014 - Node.jsSuper tests - TDC 2014 - Node.js
Super tests - TDC 2014 - Node.js
 
JavaScript Moderno
JavaScript ModernoJavaScript Moderno
JavaScript Moderno
 
Documentando seu CSS
Documentando seu CSSDocumentando seu CSS
Documentando seu CSS
 
Implementando Entrega Contínua- Parte 2
Implementando Entrega Contínua- Parte 2Implementando Entrega Contínua- Parte 2
Implementando Entrega Contínua- Parte 2
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Django Channels - Aplicações real time com Django
Django Channels - Aplicações real time com DjangoDjango Channels - Aplicações real time com Django
Django Channels - Aplicações real time com Django
 
Convenções de código para a linguagem de programação
Convenções de código para a linguagem de programaçãoConvenções de código para a linguagem de programação
Convenções de código para a linguagem de programação
 
Serverless e Java: essa combinação é possível
Serverless e Java: essa combinação é possívelServerless e Java: essa combinação é possível
Serverless e Java: essa combinação é possível
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitido
 
Steak (Oxente Rails)
Steak (Oxente Rails)Steak (Oxente Rails)
Steak (Oxente Rails)
 
Criando sua stack de deploy php com git, jenkins e ansible
Criando sua stack de deploy php com git, jenkins e ansibleCriando sua stack de deploy php com git, jenkins e ansible
Criando sua stack de deploy php com git, jenkins e ansible
 
Entendendo um pouco melhor o que é Ruby
Entendendo um pouco melhor o que é RubyEntendendo um pouco melhor o que é Ruby
Entendendo um pouco melhor o que é Ruby
 
Produtividade nas Trincheiras - As armas do desenvolvedor web
Produtividade nas Trincheiras - As armas do desenvolvedor webProdutividade nas Trincheiras - As armas do desenvolvedor web
Produtividade nas Trincheiras - As armas do desenvolvedor web
 
Visão geral type script
Visão geral type scriptVisão geral type script
Visão geral type script
 

Similar a Groovy: linguagem dinâmica baseada no Java

Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVMWilliam Gouvea
 
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo JavaJava Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo JavaPaulo César M Jeveaux
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com GrailsWanderson Oliveira
 
Conhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformConhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformMilfont Consulting
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Aécio Costa
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
Java: o que estudar para o mercado de trabalho
Java: o que estudar para o mercado de trabalhoJava: o que estudar para o mercado de trabalho
Java: o que estudar para o mercado de trabalhoPedro Cavalero
 
Apresentação ruby + rails 2014
Apresentação ruby + rails 2014Apresentação ruby + rails 2014
Apresentação ruby + rails 2014Marcelo Bohn
 
Java Para Web 2.0
Java Para Web 2.0Java Para Web 2.0
Java Para Web 2.0guest8ca153
 
JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemliverig
 
Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005Phil Calçado
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01Daniel Alves
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01rollbackpt
 

Similar a Groovy: linguagem dinâmica baseada no Java (20)

Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVM
 
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo JavaJava Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
 
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
 
Curso de Groovy
Curso de GroovyCurso de Groovy
Curso de Groovy
 
Groovy e Grails 2
Groovy e Grails 2Groovy e Grails 2
Groovy e Grails 2
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com Grails
 
Conhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformConhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java Platform
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Aula1
Aula1Aula1
Aula1
 
Java: o que estudar para o mercado de trabalho
Java: o que estudar para o mercado de trabalhoJava: o que estudar para o mercado de trabalho
Java: o que estudar para o mercado de trabalho
 
Apresentação ruby + rails 2014
Apresentação ruby + rails 2014Apresentação ruby + rails 2014
Apresentação ruby + rails 2014
 
Java Para Web 2.0
Java Para Web 2.0Java Para Web 2.0
Java Para Web 2.0
 
JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagem
 
Java20141215 17[1]
Java20141215 17[1]Java20141215 17[1]
Java20141215 17[1]
 
Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 

Más de Ismael

TDC 2020 - Trilha de Management 3.0 e Gestão Ágil
TDC 2020 - Trilha de Management 3.0 e Gestão ÁgilTDC 2020 - Trilha de Management 3.0 e Gestão Ágil
TDC 2020 - Trilha de Management 3.0 e Gestão ÁgilIsmael
 
Introducao ao Pensamento Sistemico
Introducao ao Pensamento SistemicoIntroducao ao Pensamento Sistemico
Introducao ao Pensamento SistemicoIsmael
 
Testes de unidade alem do basico
Testes de unidade alem do basicoTestes de unidade alem do basico
Testes de unidade alem do basicoIsmael
 
Bluesoft Culture
Bluesoft CultureBluesoft Culture
Bluesoft CultureIsmael
 
Como dar e receber feedbacks
Como dar e receber feedbacksComo dar e receber feedbacks
Como dar e receber feedbacksIsmael
 
Eficiencia de fluxo
Eficiencia de fluxoEficiencia de fluxo
Eficiencia de fluxoIsmael
 
Como você testa seu software TDC 2017
Como você testa seu software  TDC 2017Como você testa seu software  TDC 2017
Como você testa seu software TDC 2017Ismael
 
Como ter Entregas Frequentes
Como ter Entregas FrequentesComo ter Entregas Frequentes
Como ter Entregas FrequentesIsmael
 
JUnit 5 vs JUnit 4
JUnit 5 vs JUnit 4JUnit 5 vs JUnit 4
JUnit 5 vs JUnit 4Ismael
 
Conceitos por trás do Ágil
Conceitos por trás do ÁgilConceitos por trás do Ágil
Conceitos por trás do ÁgilIsmael
 
Boas Praticas de Testes, Bad Smell e Outros Macetes
Boas Praticas de Testes, Bad Smell e Outros MacetesBoas Praticas de Testes, Bad Smell e Outros Macetes
Boas Praticas de Testes, Bad Smell e Outros MacetesIsmael
 
8 passos para mudança de John Kotter
8 passos para mudança de John Kotter8 passos para mudança de John Kotter
8 passos para mudança de John KotterIsmael
 
Curva da Mudança Kubler-Ross
Curva da Mudança Kubler-RossCurva da Mudança Kubler-Ross
Curva da Mudança Kubler-RossIsmael
 
DevCamp 2016
DevCamp 2016DevCamp 2016
DevCamp 2016Ismael
 
7 Caracteristicas de um bom Lider Agil
7 Caracteristicas de um bom Lider Agil7 Caracteristicas de um bom Lider Agil
7 Caracteristicas de um bom Lider AgilIsmael
 
Law of demeter
Law of demeterLaw of demeter
Law of demeterIsmael
 
Junit Lambda
Junit LambdaJunit Lambda
Junit LambdaIsmael
 
Feedback dos Testes
Feedback dos TestesFeedback dos Testes
Feedback dos TestesIsmael
 
Refactoring Databases - Estrategias
Refactoring Databases - EstrategiasRefactoring Databases - Estrategias
Refactoring Databases - EstrategiasIsmael
 
Refactoring Databases - parte 1
Refactoring Databases - parte 1Refactoring Databases - parte 1
Refactoring Databases - parte 1Ismael
 

Más de Ismael (20)

TDC 2020 - Trilha de Management 3.0 e Gestão Ágil
TDC 2020 - Trilha de Management 3.0 e Gestão ÁgilTDC 2020 - Trilha de Management 3.0 e Gestão Ágil
TDC 2020 - Trilha de Management 3.0 e Gestão Ágil
 
Introducao ao Pensamento Sistemico
Introducao ao Pensamento SistemicoIntroducao ao Pensamento Sistemico
Introducao ao Pensamento Sistemico
 
Testes de unidade alem do basico
Testes de unidade alem do basicoTestes de unidade alem do basico
Testes de unidade alem do basico
 
Bluesoft Culture
Bluesoft CultureBluesoft Culture
Bluesoft Culture
 
Como dar e receber feedbacks
Como dar e receber feedbacksComo dar e receber feedbacks
Como dar e receber feedbacks
 
Eficiencia de fluxo
Eficiencia de fluxoEficiencia de fluxo
Eficiencia de fluxo
 
Como você testa seu software TDC 2017
Como você testa seu software  TDC 2017Como você testa seu software  TDC 2017
Como você testa seu software TDC 2017
 
Como ter Entregas Frequentes
Como ter Entregas FrequentesComo ter Entregas Frequentes
Como ter Entregas Frequentes
 
JUnit 5 vs JUnit 4
JUnit 5 vs JUnit 4JUnit 5 vs JUnit 4
JUnit 5 vs JUnit 4
 
Conceitos por trás do Ágil
Conceitos por trás do ÁgilConceitos por trás do Ágil
Conceitos por trás do Ágil
 
Boas Praticas de Testes, Bad Smell e Outros Macetes
Boas Praticas de Testes, Bad Smell e Outros MacetesBoas Praticas de Testes, Bad Smell e Outros Macetes
Boas Praticas de Testes, Bad Smell e Outros Macetes
 
8 passos para mudança de John Kotter
8 passos para mudança de John Kotter8 passos para mudança de John Kotter
8 passos para mudança de John Kotter
 
Curva da Mudança Kubler-Ross
Curva da Mudança Kubler-RossCurva da Mudança Kubler-Ross
Curva da Mudança Kubler-Ross
 
DevCamp 2016
DevCamp 2016DevCamp 2016
DevCamp 2016
 
7 Caracteristicas de um bom Lider Agil
7 Caracteristicas de um bom Lider Agil7 Caracteristicas de um bom Lider Agil
7 Caracteristicas de um bom Lider Agil
 
Law of demeter
Law of demeterLaw of demeter
Law of demeter
 
Junit Lambda
Junit LambdaJunit Lambda
Junit Lambda
 
Feedback dos Testes
Feedback dos TestesFeedback dos Testes
Feedback dos Testes
 
Refactoring Databases - Estrategias
Refactoring Databases - EstrategiasRefactoring Databases - Estrategias
Refactoring Databases - Estrategias
 
Refactoring Databases - parte 1
Refactoring Databases - parte 1Refactoring Databases - parte 1
Refactoring Databases - parte 1
 

Groovy: linguagem dinâmica baseada no Java