SlideShare uma empresa Scribd logo
1 de 51
Linguagens Dinamicas na JVM: o futuro do Java como plataforma! ,[object Object],Sun OSUM Leader [email_address]
Porque?? Agenda JVM /DaVinci Onde ?Quais? Deep Dive Perguntas?
Porque? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Porque ? ,[object Object],[object Object],[object Object]
Porque? ,[object Object],[object Object]
Porque? A origem! ,[object Object],[object Object],[object Object],[object Object]
Porque  a JVM? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Porque? A Origem ,[object Object],[object Object],[object Object]
Linguagens Compiladas Scanner Parser Analisador Sintatico Analisador Semantico Otimizador Gerador de Codigo Tokens Parser Tree Representação Intermediaria Representação Intermediaria Codigo de Maquina Alvo
Linguagens Interpretadas INTERPRETADOR Código Fonte Dados OUTPUT
Porque?? Agenda JVM /DaVinci Onde ?Quais? Deep Dive Perguntas?
WORA?? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JVM(JRE)  CLASSLOADER JRE Intepretador de Bytecodes Independentes de Plataforma .class / .jar
JVM (JRE) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Outras Linguagens ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Linguagens Dinamicas ,[object Object],[object Object],[object Object],[object Object]
Linguagens Dinamicas ,[object Object],[object Object],[object Object]
JSR-223 ,[object Object],[object Object],[object Object]
JSR-292 ,[object Object],[object Object],[object Object]
DaVinci Virtual Machine ,[object Object],[object Object],[object Object],[object Object]
Porque?? Agenda JVM /DaVinci Conclusão Deep Dive Perguntas?
Python/Jython ,[object Object],[object Object],[object Object],[object Object],[object Object]
Python/Jython ,[object Object],[object Object],[object Object],[object Object]
Python/Jython ,[object Object],[object Object],[object Object],[object Object]
Python/Jython ,[object Object],[object Object],[object Object]
Python/Jython ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Javascript/Rhino/AJAX!? ,[object Object],[object Object],[object Object],[object Object]
Javascript/Rhino ,[object Object],[object Object],[object Object]
Javascript/Rhino ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ruby/JRuby ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ruby/JRuby ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ruby/JRuby ,[object Object],[object Object],[object Object]
Ruby/JRuby ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ruby/JRuby ,[object Object],[object Object],[object Object],[object Object]
Ruby/JRuby ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ruby/JRuby ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ruby/JRuby ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ruby/JRuby ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ruby/JRuby ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Outras linguagens ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Groovy ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Clojure ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Clojure ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scala ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Integração com outras tecnologias ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Integração com outras tecnologias ,[object Object],[object Object],[object Object]
Linguagens Dinamicas e Frameworks http://glassfish-scripting.dev.java.net
Porque?? Agenda JVM /DaVinci Conclusão Deep Dive Perguntas?
Conclusão ,[object Object],[object Object],[object Object],[object Object],[object Object]
Porque?? Agenda JVM /DaVinci Conclusão Deep Dive Perguntas?
Linguagens Dinamicas na JVM: o futuro do Java como plataforma! ,[object Object],Obrigado pelo seu tempo! Sun OSUM Leader [email_address]

Mais conteúdo relacionado

Mais procurados

Introdução à Programação em Java - Aula 1 (PT-PT)
Introdução à Programação em Java - Aula 1 (PT-PT)Introdução à Programação em Java - Aula 1 (PT-PT)
Introdução à Programação em Java - Aula 1 (PT-PT)Manoel Campos da Silva Filho
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaÁlvaro Farias Pinheiro
 
Como Construir um Compilador cap-1
Como Construir um Compilador cap-1Como Construir um Compilador cap-1
Como Construir um Compilador cap-1Maellson Marques
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Railsismaelstahelin
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01Daniel Alves
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Luis Borges Gouveia
 
Programação em java linguagem, ap is, boas práticas e eclipse
Programação em java   linguagem, ap is, boas práticas e eclipseProgramação em java   linguagem, ap is, boas práticas e eclipse
Programação em java linguagem, ap is, boas práticas e eclipseFilipe Bezerra Sousa
 
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
 
Grupo de estudo - Kotlin
Grupo de estudo - KotlinGrupo de estudo - Kotlin
Grupo de estudo - KotlinAndré Justi
 
Livro - código limpo caps (3,4) (clean code)
Livro - código limpo caps (3,4) (clean code)Livro - código limpo caps (3,4) (clean code)
Livro - código limpo caps (3,4) (clean code)André Justi
 

Mais procurados (16)

Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo Java
 
Apostila java completo
Apostila java completoApostila java completo
Apostila java completo
 
Introdução à Programação em Java - Aula 1 (PT-PT)
Introdução à Programação em Java - Aula 1 (PT-PT)Introdução à Programação em Java - Aula 1 (PT-PT)
Introdução à Programação em Java - Aula 1 (PT-PT)
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Como Construir um Compilador cap-1
Como Construir um Compilador cap-1Como Construir um Compilador cap-1
Como Construir um Compilador cap-1
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Java acsp
Java acspJava acsp
Java acsp
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)
 
Programação em java linguagem, ap is, boas práticas e eclipse
Programação em java   linguagem, ap is, boas práticas e eclipseProgramação em java   linguagem, ap is, boas práticas e eclipse
Programação em java linguagem, ap is, boas práticas e eclipse
 
1213 java
1213 java1213 java
1213 java
 
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo JavaJava Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
 
Mini Curso Python
Mini Curso PythonMini Curso Python
Mini Curso Python
 
Grupo de estudo - Kotlin
Grupo de estudo - KotlinGrupo de estudo - Kotlin
Grupo de estudo - Kotlin
 
Livro - código limpo caps (3,4) (clean code)
Livro - código limpo caps (3,4) (clean code)Livro - código limpo caps (3,4) (clean code)
Livro - código limpo caps (3,4) (clean code)
 
Introdução ao Java
Introdução ao JavaIntrodução ao Java
Introdução ao Java
 

Destaque

QCon São Paulo 2010 - JRuby
QCon São Paulo 2010 - JRubyQCon São Paulo 2010 - JRuby
QCon São Paulo 2010 - JRubyCharles Nutter
 
Programação GUI com jRuby
Programação GUI com jRubyProgramação GUI com jRuby
Programação GUI com jRubyFrevo on Rails
 
Jasmine - Sinon - BrazilJS
Jasmine - Sinon - BrazilJSJasmine - Sinon - BrazilJS
Jasmine - Sinon - BrazilJSSergio Azevedo
 
Introdução a ruby
Introdução a rubyIntrodução a ruby
Introdução a rubyWende Mendes
 
WebApps minimalistas com Sinatra
WebApps minimalistas com SinatraWebApps minimalistas com Sinatra
WebApps minimalistas com SinatraFrevo on Rails
 
Jruby - Ruby em Ambientes 100% Java
Jruby - Ruby em Ambientes 100% JavaJruby - Ruby em Ambientes 100% Java
Jruby - Ruby em Ambientes 100% JavaSergio Azevedo
 

Destaque (7)

QCon São Paulo 2010 - JRuby
QCon São Paulo 2010 - JRubyQCon São Paulo 2010 - JRuby
QCon São Paulo 2010 - JRuby
 
Programação GUI com jRuby
Programação GUI com jRubyProgramação GUI com jRuby
Programação GUI com jRuby
 
Jasmine - Sinon - BrazilJS
Jasmine - Sinon - BrazilJSJasmine - Sinon - BrazilJS
Jasmine - Sinon - BrazilJS
 
Introdução a ruby
Introdução a rubyIntrodução a ruby
Introdução a ruby
 
WebApps minimalistas com Sinatra
WebApps minimalistas com SinatraWebApps minimalistas com Sinatra
WebApps minimalistas com Sinatra
 
Jruby - Ruby em Ambientes 100% Java
Jruby - Ruby em Ambientes 100% JavaJruby - Ruby em Ambientes 100% Java
Jruby - Ruby em Ambientes 100% Java
 
Rest Teoria E Pratica
Rest Teoria E PraticaRest Teoria E Pratica
Rest Teoria E Pratica
 

Semelhante a Linguagens Dinamicas na JVM: o futuro do Java

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
 
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
 
Inovando na plataforma Java
Inovando na plataforma JavaInovando na plataforma Java
Inovando na plataforma JavaEteg
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com GrailsWanderson Oliveira
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoRegis Magalhães
 
Java Fundamentos
Java FundamentosJava Fundamentos
Java FundamentosWilson Lima
 
Jugday - Java Básico
Jugday - Java BásicoJugday - Java Básico
Jugday - Java BásicoPaloma Costa
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01rollbackpt
 
Apresentação java
Apresentação javaApresentação java
Apresentação javamunosai
 
JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemliverig
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2PrinceGuru MS
 

Semelhante a Linguagens Dinamicas na JVM: o futuro do Java (20)

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
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!
 
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
 
Inovando na plataforma Java
Inovando na plataforma JavaInovando na plataforma Java
Inovando na plataforma Java
 
Inovando na Plataforma Java
Inovando na Plataforma JavaInovando na Plataforma Java
Inovando na Plataforma Java
 
Introducao logica2
Introducao logica2Introducao logica2
Introducao logica2
 
1.introducao java
1.introducao java1.introducao java
1.introducao java
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com Grails
 
Java 01 Java Visao Geral
Java 01 Java Visao GeralJava 01 Java Visao Geral
Java 01 Java Visao Geral
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
 
Java Fundamentos
Java FundamentosJava Fundamentos
Java Fundamentos
 
Jugday - Java Básico
Jugday - Java BásicoJugday - Java Básico
Jugday - Java Básico
 
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
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 
01 introducao ao java
01   introducao ao java01   introducao ao java
01 introducao ao java
 
JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagem
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 

Linguagens Dinamicas na JVM: o futuro do Java

Notas do Editor

  1. Slide 1: title and presenter's name Slide 2: topic intro - what product/technology is Slide 3: topic intro - who is the target market (be very as specific as possible: e.g. geo, developer type, etc.) Slide 4: demo Slide 5: certification Slide 6: call-to-action Slide 7: resources: (URLs, where to go/who to call for more information, etc.)
  2. Slide 1: title and presenter's name Slide 2: topic intro - what product/technology is Slide 3: topic intro - who is the target market (be very as specific as possible: e.g. geo, developer type, etc.) Slide 4: demo Slide 5: certification Slide 6: call-to-action Slide 7: resources: (URLs, where to go/who to call for more information, etc.)
  3. Slide 1: title and presenter's name Slide 2: topic intro - what product/technology is Slide 3: topic intro - who is the target market (be very as specific as possible: e.g. geo, developer type, etc.) Slide 4: demo Slide 5: certification Slide 6: call-to-action Slide 7: resources: (URLs, where to go/who to call for more information, etc.)
  4. Slide 1: title and presenter's name Slide 2: topic intro - what product/technology is Slide 3: topic intro - who is the target market (be very as specific as possible: e.g. geo, developer type, etc.) Slide 4: demo Slide 5: certification Slide 6: call-to-action Slide 7: resources: (URLs, where to go/who to call for more information, etc.)
  5. Slide 1: title and presenter's name Slide 2: topic intro - what product/technology is Slide 3: topic intro - who is the target market (be very as specific as possible: e.g. geo, developer type, etc.) Slide 4: demo Slide 5: certification Slide 6: call-to-action Slide 7: resources: (URLs, where to go/who to call for more information, etc.)