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

Linguagens Dinâmicas na JVM

  • 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… Houveuma é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 Agente 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 quemsó sabe usar martelo, todo problema é um prego.” “Não existem balas de prata”
  • 6.
    PROGRAMADOR POLIGLOTA Arquitetura docomputador 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 - Aprendauma 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 ISSOTEM 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 QUEHA 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”
  • 10.