SlideShare ist ein Scribd-Unternehmen logo
1 von 70
Plataforma JAVA
         Muito além da




              http://www.flickr.com/photos/7387467@N04/2630044768/
Andre Fonseca

Senior Dev @ Globo.com

Experiência > 10 anos
http://www.flickr.com/photos/ahren_d/3002046902/sizes/l/in/photostream/
http://xahlee.org/java-a-day/java_logo.html
Linguagem
Linguagem
Novidade
Linguagem
     ÃO
    N
Novidade
Ruby
Ruby




       Lisp
Ruby




                Lisp




       Python
Ruby




                       Lisp




Ecma          Python
Ruby



SmallTalk                          Lisp




            Ecma          Python
Ruby



SmallTalk                          Lisp
                   JAVA




            Ecma          Python
???
???
???
WTF !!!
Calma ...
http://www.flickr.com/photos/pgordon/2531908489/
“     Vem comigo, vai .....
http://soundcloud.com/ramonpage/sets/rapaz-incomum-a-aparicao/
http://www.flickr.com/photos/psychojoanes/403053654/sizes/l/in/photostream/
Java evoluiu
Porém . . .
Complexidade
Sopa de letrinhas
RIP
DESAFIO !!!!
a = [1,2,3,4,5,6,7,8,9]
a.map! {|x| x + 2 }       Ruby
#!/usr/bin/ruby -w

# Created by Michael Williams 12/19/2005
# Licensed under Create Commons Attribution License

# Example 3 - Read File with Exception Handling
counter = 1
begin
! file = File.new("readfile.rb", "r")
! while (line = file.gets)
! ! puts "#{counter}: #{line}"
! ! counter = counter + 1
! end
! file.close
rescue => err
! puts "Exception: #{err}"
! err
end
e em Java . . .
Produtividade
Escrever Menos
Escrever Menos
   fazer Mais
?
Jogar tudo fora
•Thread
•JIT
•GC
•Perfomance
•HostSpot
•Base Instalada
•etc ...
Ruby
Ruby




       Lisp
Ruby




                Lisp




       Python
Ruby




                       Lisp




Ecma          Python
Ruby



SmallTalk                          Lisp




            Ecma          Python
Ruby



SmallTalk                          Lisp
                   JVM




            Ecma          Python
Pode ?
Pois tudo isso é   REAL
http://www.scala-lang.org/
Como !?!?
http://en.wikipedia.org/wiki/Bean_Scripting_Framework
JSR 223

http://www.jcp.org/en/jsr/detail?id=223
JSR 274

http://www.jcp.org/en/jsr/detail?id=274
JSR 292

http://www.jcp.org/en/jsr/detail?id=292
Temos que passar as outras
linguagens para Java e depois
 passar para a JVM e que fará
    o restante do trabalho...
Outra linguagem


      BSF


      JAVA


JVM      Bytecode
Outra linguagem




ByteCode
Porque ?
Novas
possibilidades
Novas
formas
Dúvidas ?
Obrigado

       @aoqfonseca
  aoqfonseca@gmail.com

  http://andrefonseca.net

http://github.com/aoqfonseca

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (10)

Picademy #3 Python Picamera GPIO Workshop
Picademy #3 Python Picamera GPIO WorkshopPicademy #3 Python Picamera GPIO Workshop
Picademy #3 Python Picamera GPIO Workshop
 
2021laravelconftwslides4
2021laravelconftwslides42021laravelconftwslides4
2021laravelconftwslides4
 
Clojure presentation
Clojure presentationClojure presentation
Clojure presentation
 
用Ruby编写博客应用
用Ruby编写博客应用用Ruby编写博客应用
用Ruby编写博客应用
 
No more script tag soup!
No more script tag soup!No more script tag soup!
No more script tag soup!
 
Jamstack Denver
Jamstack DenverJamstack Denver
Jamstack Denver
 
scaling compiled applications - highload 2013
scaling compiled applications - highload 2013scaling compiled applications - highload 2013
scaling compiled applications - highload 2013
 
A First Look at RedwoodJS
A First Look at RedwoodJSA First Look at RedwoodJS
A First Look at RedwoodJS
 
Extjs Howto
Extjs HowtoExtjs Howto
Extjs Howto
 
Write parser with fun!
Write parser with fun!Write parser with fun!
Write parser with fun!
 

Andere mochten auch

Andere mochten auch (9)

Jasmine frontinrio
Jasmine frontinrioJasmine frontinrio
Jasmine frontinrio
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Fisl aumentando lucro-python
Fisl aumentando lucro-pythonFisl aumentando lucro-python
Fisl aumentando lucro-python
 
Como fica a arquitetura de software em um projeto ágil? Big Up Front, Inc...
Como fica a arquitetura de software em um projeto ágil? Big Up Front, Inc...Como fica a arquitetura de software em um projeto ágil? Big Up Front, Inc...
Como fica a arquitetura de software em um projeto ágil? Big Up Front, Inc...
 
Plataforma java
Plataforma javaPlataforma java
Plataforma java
 
Codigo legado fisl
Codigo legado fislCodigo legado fisl
Codigo legado fisl
 
Tdc 2104 florianopolis - Brincando com a inteligência coletiva
Tdc 2104 florianopolis - Brincando com a inteligência coletivaTdc 2104 florianopolis - Brincando com a inteligência coletiva
Tdc 2104 florianopolis - Brincando com a inteligência coletiva
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Ähnlich wie Plataforma java

Web Frameworks of the Future
Web Frameworks of the FutureWeb Frameworks of the Future
Web Frameworks of the Future
elliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
elliando dias
 

Ähnlich wie Plataforma java (20)

DiUS Computing Lca Rails Final
DiUS  Computing Lca Rails FinalDiUS  Computing Lca Rails Final
DiUS Computing Lca Rails Final
 
Writing Bullet-Proof Javascript: By Using CoffeeScript
Writing Bullet-Proof Javascript: By Using CoffeeScriptWriting Bullet-Proof Javascript: By Using CoffeeScript
Writing Bullet-Proof Javascript: By Using CoffeeScript
 
The secret of programming language development and future
The secret of programming  language development and futureThe secret of programming  language development and future
The secret of programming language development and future
 
Scalive
ScaliveScalive
Scalive
 
Ros with docker 20151107
Ros with docker  20151107Ros with docker  20151107
Ros with docker 20151107
 
Bitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRuby
 
WebSocket For Web Rubyists
WebSocket For Web RubyistsWebSocket For Web Rubyists
WebSocket For Web Rubyists
 
Libraries Frameworks And Cms
Libraries Frameworks And CmsLibraries Frameworks And Cms
Libraries Frameworks And Cms
 
Web Frameworks of the Future
Web Frameworks of the FutureWeb Frameworks of the Future
Web Frameworks of the Future
 
Ruby - The Hard Bits
Ruby - The Hard BitsRuby - The Hard Bits
Ruby - The Hard Bits
 
Ruby
RubyRuby
Ruby
 
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
JRuby, Ruby, Rails and You on the Cloud
JRuby, Ruby, Rails and You on the CloudJRuby, Ruby, Rails and You on the Cloud
JRuby, Ruby, Rails and You on the Cloud
 
Web application intro + a bit of ruby (revised)
Web application intro + a bit of ruby (revised)Web application intro + a bit of ruby (revised)
Web application intro + a bit of ruby (revised)
 
Machine vision and device integration with the Ruby programming language (2008)
Machine vision and device integration with the Ruby programming language (2008)Machine vision and device integration with the Ruby programming language (2008)
Machine vision and device integration with the Ruby programming language (2008)
 
Lessons Learnt in 2009
Lessons Learnt in 2009Lessons Learnt in 2009
Lessons Learnt in 2009
 
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for PythonPyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
 
iSoligorsk #3 2013
iSoligorsk #3 2013iSoligorsk #3 2013
iSoligorsk #3 2013
 
The story of language development
The story of language developmentThe story of language development
The story of language development
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Plataforma java

Hinweis der Redaktion

  1. \n
  2. \n
  3. Eu vim falar de java, óbvio.\n
  4. \n
  5. \n
  6. \n
  7. \n
  8. Eu vim aqui hoje falar de outras linguagens. Outras formas de fazer as coisas que não em java. Mas ao mesmo tempo eu vim para falar de java.\n
  9. Eu vim aqui hoje falar de outras linguagens. Outras formas de fazer as coisas que não em java. Mas ao mesmo tempo eu vim para falar de java.\n
  10. Eu vim aqui hoje falar de outras linguagens. Outras formas de fazer as coisas que não em java. Mas ao mesmo tempo eu vim para falar de java.\n
  11. Eu vim aqui hoje falar de outras linguagens. Outras formas de fazer as coisas que não em java. Mas ao mesmo tempo eu vim para falar de java.\n
  12. Eu vim aqui hoje falar de outras linguagens. Outras formas de fazer as coisas que não em java. Mas ao mesmo tempo eu vim para falar de java.\n
  13. Eu vim aqui hoje falar de outras linguagens. Outras formas de fazer as coisas que não em java. Mas ao mesmo tempo eu vim para falar de java.\n
  14. \n
  15. \n
  16. \n
  17. \n
  18. Aqui estabelecer uma linha do tempo do Java e do mercado de TI. Mostrar como as coisas foram evoluindo e como a linguagem acompanhou\n
  19. A linguagem evolui para atender diversas demandas. Cresceu e cresceu muito. Evolui na tentativa de atender a todos os pedidos e necessidades de sua comunidade.\n
  20. \n
  21. Conforme cresceu ela também aumentou demais a sua complexidade. A sua curva de aprendizado é enorme. Para fazer qualquer coisa em java, simples, como um site com um CRUD o conhecimento tem que ser grande.\n
  22. Então ela virou uma enorme sopa de letrinhas. É JPA, J2EE, JAX, JAX-RPC, J2ME, Java NIO, JSPs, Spring, Struts, Maven ... \n
  23. Virou uma visão de bala de prata. Pronta para resolver qualquer problema. Virou uma panacéia. A cura para todos os males. Se tornou o grande ORACULO (piadinha com o Oracle)\n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. Outras linguagens com outros paradigmas podem se mostrar ferramentas melhores para sermos mais produtivos. Podemos resolver os problemas com menos código, menos horas e muitas vezes de formas muito mais eficiente pelo simples fato de estarmos em outro paradigma. Um exemplo é o Clojures, Scala, etc. \n
  32. \n
  33. \n
  34. \n
  35. Para mim a JVM é a grande invenção. ela trouxe a verdadeira. Embora tenha sido feita para a linguagem, ela em si é um avanço gigantesco\n
  36. Eu vim aqui hoje falar de outras linguagens. Outras formas de fazer as coisas que não java.\n
  37. Eu vim aqui hoje falar de outras linguagens. Outras formas de fazer as coisas que não java.\n
  38. Eu vim aqui hoje falar de outras linguagens. Outras formas de fazer as coisas que não java.\n
  39. Eu vim aqui hoje falar de outras linguagens. Outras formas de fazer as coisas que não java.\n
  40. Eu vim aqui hoje falar de outras linguagens. Outras formas de fazer as coisas que não java.\n
  41. Eu vim aqui hoje falar de outras linguagens. Outras formas de fazer as coisas que não java.\n
  42. Com isso podemos partir para outra linguagens que facilitam a resolução dos meus problemas ou me façam mais produtivos e conviver bem com meu ambiente e meu legado feito em java mesmo. Não preciso jogar tudo no lixo nem esquecer do que eu sei em java.\n
  43. \n
  44. \n
  45. Alguns exemplos de linguagens dentro da JVM\n
  46. Alguns exemplos de linguagens dentro da JVM\n
  47. Alguns exemplos de linguagens dentro da JVM\n
  48. Alguns exemplos de linguagens dentro da JVM\n
  49. \n
  50. \n
  51. Bean Scripting Framework\n
  52. é a jsr de scripting dentro da linguagem. É a definição da api para escrever engines para interpretar outras linguagens dentro do contexto de java\n
  53. This specification will standardize BeanShell, a Java syntax compatible scripting language for the Java platform.The BeanShell language bridges Java into the scripting domain in a natural way, allowing developers to mix static Java syntax with scripting conventions such as optional typing, simple closures, dynamic commands, and other conveniences.\nBeanShell is a VM hosted language, supporting dynamic execution of the full Java grammar and semantics as well as transparent access to Java objects and APIs. Additional scripting and convenience features are brought into the language as a strict superset of the the Java language syntax. In this way BeanShell attempts to minimize both the syntactic and runtime barriers between Java application code and scripts, easing development and facilitating migration between scripts and static Java.\nThis specification will standardize the BeanShell language syntax and a minimal set of core commands and environmental components.\n\n
  54. é a especificação para invocação dinamica de métodos dentro da jvm\n
  55. \n
  56. \n
  57. \n
  58. Graças a algumas jsrs a jvm passou de simplesmente tratar código escrito exclusivamente em java para se tornar uma plataforma poliglota. Nisso podemos citar o BeanShell ... E mais por final a parte de implementação a questão dos invoke dinamics e outras coisas que tornaram a jvm mais aderente a novas linguagens e seus paradigmas.\nJSR 223, 274, 292, 338, \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n