SlideShare uma empresa Scribd logo
1 de 11
JAVA NÃO É SÓ JAVA


Diferenciando o que é „linguagem de programação‟ e „plataforma‟

-   Java x JVM
-   Python x Cpython/Pypy
-   Ruby x MRI
-   .NET x CLR/Mono
ERA UMA VEZ…


Houve uma época muito, muuuuito distante, em que o mundo era dividido
   por castas:
-   Programador Java
-   Programador .NET
-   Programador PHP
-   e muitas outras…
O MUNDO MUDOU


A gente aprendeu(ou deveria ter aprendido), que o mundo de
   desenvolvimento de software mudou muito, cresceu muito, e exige
   outra postura dos desenvolvedores


-   Cloud Computing
-   Testes de unidade, testes de carga, testes de performance
-   Escalabilidade, Balanceamento de Carga
MOMENTO (DES)MOTIVACIONAL


“Para quem só sabe usar martelo, todo
  problema é um prego.”

“Não existem balas de prata”
PROGRAMADOR POLIGLOTA
Arquitetura do computador não mudou muito nas últimas
   décadas, algoritmos básicos de programação não mudaram, protocolos
   não mudaram….


Aprenda a PROGRAMAR, e depois


Aprenda sempre novas linguagens
-   Te torna um programador melhor
-   Te ensina outro jeito de „ver a vida‟
-   Te ensina a solucionar problemas de forma diferente
PROGRAMADOR POLIGLOTA

- Aprenda uma linguagem diferente por ano(The Pragmatic Programmer)
- Quando aprender uma nova linguagem, aprenda paradigmas
    diferentes(Seven Languages in Seven Weeks)
- Pode de escolha.
- OPORTUNIDADES!!!!
O QUE ISSO TEM HA VER JAVA
Java há muito tempo, e principalmente após o Java 7, é uma excelente
plataforma de execução para outras linguagens:


-   Python : Jython
-   Ruby : JRuby
-   PHP : Quercus
-   Javascript : Rhino
-   Groovy
-   Scala
USAR O QUE HA DE MELHOR
Algumas plataformas são maios verbosas, outras são mais produtivas para
   desenvolvimento web, outras para script, etc.


Programar não é um filme do Charles Bronson(uma .38)
Programar é um filme do Jack Chan(se não aguenta a porrada, usa
   cadeira, escada, etc)


        “Programar é resolver problemas através de algoritmos”
EXEMPLO
Hello World com Jython
Linguagens Dinâmicas na JVM

Mais conteúdo relacionado

Mais procurados

Coding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesCoding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesPablo Bender
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorLeandro Ferreira
 
DEVCAMP 2013 - Refatorar! porque ninguém gosta de código que cheira mal
DEVCAMP 2013 - Refatorar! porque ninguém gosta de código que cheira malDEVCAMP 2013 - Refatorar! porque ninguém gosta de código que cheira mal
DEVCAMP 2013 - Refatorar! porque ninguém gosta de código que cheira malElias Souza
 
DojoMoc - Introdução Coding Dojo
DojoMoc - Introdução Coding DojoDojoMoc - Introdução Coding Dojo
DojoMoc - Introdução Coding DojoDiego Caxito
 
Refatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira malRefatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira malAndrei Tognolo
 
Palestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoPalestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoJanynne Gomes
 
Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador PragmaticoLeonardo Fernandes
 
Coding Dojo em 5 Minutos
Coding Dojo em 5 MinutosCoding Dojo em 5 Minutos
Coding Dojo em 5 MinutosSerge Rehem
 
Sábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScriptSábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScriptJulio Greff
 
C# 7
C# 7C# 7
C# 7CDS
 
Coding Dojo - Aprendendo a programar programando
Coding Dojo - Aprendendo a programar programandoCoding Dojo - Aprendendo a programar programando
Coding Dojo - Aprendendo a programar programandoMauricio Matsuda
 
Utilizando o wordpress para aplicativos mobile
Utilizando o wordpress para aplicativos mobileUtilizando o wordpress para aplicativos mobile
Utilizando o wordpress para aplicativos mobileFellyph Cintra
 
Testes de software(feed_back)
Testes de software(feed_back)Testes de software(feed_back)
Testes de software(feed_back)Ramon Tanoeiro
 

Mais procurados (20)

Dojo abril
Dojo abrilDojo abril
Dojo abril
 
Coding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesCoding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / Instruções
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhor
 
DEVCAMP 2013 - Refatorar! porque ninguém gosta de código que cheira mal
DEVCAMP 2013 - Refatorar! porque ninguém gosta de código que cheira malDEVCAMP 2013 - Refatorar! porque ninguém gosta de código que cheira mal
DEVCAMP 2013 - Refatorar! porque ninguém gosta de código que cheira mal
 
DojoMoc - Introdução Coding Dojo
DojoMoc - Introdução Coding DojoDojoMoc - Introdução Coding Dojo
DojoMoc - Introdução Coding Dojo
 
Refatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira malRefatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira mal
 
Palestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoPalestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalho
 
Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador Pragmatico
 
Programação Orientada a Gambiarra
Programação Orientada a GambiarraProgramação Orientada a Gambiarra
Programação Orientada a Gambiarra
 
Metodologias Ágeis
Metodologias ÁgeisMetodologias Ágeis
Metodologias Ágeis
 
Dojo com Arduino
Dojo com ArduinoDojo com Arduino
Dojo com Arduino
 
Coding Dojo em 5 Minutos
Coding Dojo em 5 MinutosCoding Dojo em 5 Minutos
Coding Dojo em 5 Minutos
 
Coding Dojo em 10 Minutos!
Coding Dojo em 10 Minutos!Coding Dojo em 10 Minutos!
Coding Dojo em 10 Minutos!
 
Sábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScriptSábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScript
 
C# 7
C# 7C# 7
C# 7
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Coding Dojo - Aprendendo a programar programando
Coding Dojo - Aprendendo a programar programandoCoding Dojo - Aprendendo a programar programando
Coding Dojo - Aprendendo a programar programando
 
Utilizando o wordpress para aplicativos mobile
Utilizando o wordpress para aplicativos mobileUtilizando o wordpress para aplicativos mobile
Utilizando o wordpress para aplicativos mobile
 
Qual linguagem escolher?
Qual linguagem escolher?Qual linguagem escolher?
Qual linguagem escolher?
 
Testes de software(feed_back)
Testes de software(feed_back)Testes de software(feed_back)
Testes de software(feed_back)
 

Semelhante a Linguagens Dinâmicas na JVM

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
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO IOs Fantasmas !
 
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
 
Palestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço FilhoPalestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço Filhorafarubert
 
Java, historico e futuro
Java, historico e futuroJava, historico e futuro
Java, historico e futuroFabiano Souza
 
Java Fundamentos
Java FundamentosJava Fundamentos
Java FundamentosWilson Lima
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?Fabio Janiszevski
 
Compartilhando experiências em software livre
Compartilhando experiências em software livreCompartilhando experiências em software livre
Compartilhando experiências em software livreMarcelo Andrade
 
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
 
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsVinicius Reis
 
#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
 

Semelhante a Linguagens Dinâmicas na JVM (20)

Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO 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 parece
 
Java20141215 17[1]
Java20141215 17[1]Java20141215 17[1]
Java20141215 17[1]
 
Palestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço FilhoPalestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço Filho
 
Java, historico e futuro
Java, historico e futuroJava, historico e futuro
Java, historico e futuro
 
Java Fundamentos
Java FundamentosJava Fundamentos
Java Fundamentos
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 
Imergindo na JVM
Imergindo na JVMImergindo na JVM
Imergindo na JVM
 
Compartilhando experiências em software livre
Compartilhando experiências em software livreCompartilhando experiências em software livre
Compartilhando experiências em software livre
 
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
 
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
 
Aula 1a.ppt
Aula 1a.pptAula 1a.ppt
Aula 1a.ppt
 
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
 
Java
JavaJava
Java
 
#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?
 

Mais de Rafael Nunes

MongoDB - Performance e Escalabilidade para aplicações web
MongoDB - Performance e Escalabilidade para aplicações webMongoDB - Performance e Escalabilidade para aplicações web
MongoDB - Performance e Escalabilidade para aplicações webRafael Nunes
 
Google AppEngine and JEE
Google AppEngine and JEEGoogle AppEngine and JEE
Google AppEngine and JEERafael Nunes
 
Amazon WebServices Architectur
Amazon WebServices ArchitecturAmazon WebServices Architectur
Amazon WebServices ArchitecturRafael Nunes
 
Introdução ao Jython
Introdução ao JythonIntrodução ao Jython
Introdução ao JythonRafael Nunes
 
Arquitetura Web no AWS
Arquitetura Web no AWSArquitetura Web no AWS
Arquitetura Web no AWSRafael Nunes
 
Introdução ao Google AppEngine
Introdução ao Google AppEngineIntrodução ao Google AppEngine
Introdução ao Google AppEngineRafael Nunes
 
Desenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJangoDesenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJangoRafael Nunes
 
JSF 2.0 + Google AppEngine
JSF 2.0 + Google AppEngineJSF 2.0 + Google AppEngine
JSF 2.0 + Google AppEngineRafael Nunes
 
Introdução ao Adobe Flex
Introdução ao Adobe FlexIntrodução ao Adobe Flex
Introdução ao Adobe FlexRafael Nunes
 
JEE 6 e REST - O que vem por ai
JEE 6 e REST - O que vem por aiJEE 6 e REST - O que vem por ai
JEE 6 e REST - O que vem por aiRafael Nunes
 
RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web ServicesRafael Nunes
 

Mais de Rafael Nunes (14)

MongoDB - Performance e Escalabilidade para aplicações web
MongoDB - Performance e Escalabilidade para aplicações webMongoDB - Performance e Escalabilidade para aplicações web
MongoDB - Performance e Escalabilidade para aplicações web
 
REST and JEE
REST and JEEREST and JEE
REST and JEE
 
Google AppEngine and JEE
Google AppEngine and JEEGoogle AppEngine and JEE
Google AppEngine and JEE
 
Amazon WebServices Architectur
Amazon WebServices ArchitecturAmazon WebServices Architectur
Amazon WebServices Architectur
 
Introdução ao Jython
Introdução ao JythonIntrodução ao Jython
Introdução ao Jython
 
Arquitetura Web no AWS
Arquitetura Web no AWSArquitetura Web no AWS
Arquitetura Web no AWS
 
Django no AWS
Django no AWSDjango no AWS
Django no AWS
 
Introdução ao Google AppEngine
Introdução ao Google AppEngineIntrodução ao Google AppEngine
Introdução ao Google AppEngine
 
Jsf2 gae
Jsf2 gaeJsf2 gae
Jsf2 gae
 
Desenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJangoDesenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJango
 
JSF 2.0 + Google AppEngine
JSF 2.0 + Google AppEngineJSF 2.0 + Google AppEngine
JSF 2.0 + Google AppEngine
 
Introdução ao Adobe Flex
Introdução ao Adobe FlexIntrodução ao Adobe Flex
Introdução ao Adobe Flex
 
JEE 6 e REST - O que vem por ai
JEE 6 e REST - O que vem por aiJEE 6 e REST - O que vem por ai
JEE 6 e REST - O que vem por ai
 
RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web Services
 

Linguagens Dinâmicas na JVM

  • 1.
  • 2. JAVA NÃO É SÓ JAVA Diferenciando o que é „linguagem de programação‟ e „plataforma‟ - Java x JVM - Python x Cpython/Pypy - Ruby x MRI - .NET x CLR/Mono
  • 3. ERA UMA VEZ… Houve uma época muito, muuuuito distante, em que o mundo era dividido por castas: - Programador Java - Programador .NET - Programador PHP - e muitas outras…
  • 4. O MUNDO MUDOU A gente aprendeu(ou deveria ter aprendido), que o mundo de desenvolvimento de software mudou muito, cresceu muito, e exige outra postura dos desenvolvedores - Cloud Computing - Testes de unidade, testes de carga, testes de performance - Escalabilidade, Balanceamento de Carga
  • 5. MOMENTO (DES)MOTIVACIONAL “Para quem só sabe usar martelo, todo problema é um prego.” “Não existem balas de prata”
  • 6. PROGRAMADOR POLIGLOTA Arquitetura do computador não mudou muito nas últimas décadas, algoritmos básicos de programação não mudaram, protocolos não mudaram…. Aprenda a PROGRAMAR, e depois Aprenda sempre novas linguagens - Te torna um programador melhor - Te ensina outro jeito de „ver a vida‟ - Te ensina a solucionar problemas de forma diferente
  • 7. PROGRAMADOR POLIGLOTA - Aprenda uma linguagem diferente por ano(The Pragmatic Programmer) - Quando aprender uma nova linguagem, aprenda paradigmas diferentes(Seven Languages in Seven Weeks) - Pode de escolha. - OPORTUNIDADES!!!!
  • 8. O QUE ISSO TEM HA VER JAVA Java há muito tempo, e principalmente após o Java 7, é uma excelente plataforma de execução para outras linguagens: - Python : Jython - Ruby : JRuby - PHP : Quercus - Javascript : Rhino - Groovy - Scala
  • 9. USAR O QUE HA DE MELHOR Algumas plataformas são maios verbosas, outras são mais produtivas para desenvolvimento web, outras para script, etc. Programar não é um filme do Charles Bronson(uma .38) Programar é um filme do Jack Chan(se não aguenta a porrada, usa cadeira, escada, etc) “Programar é resolver problemas através de algoritmos”