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?

Picademy #3 Python Picamera GPIO Workshop
Picademy #3 Python Picamera GPIO WorkshopPicademy #3 Python Picamera GPIO Workshop
Picademy #3 Python Picamera GPIO Workshopbennuttall
 
用Ruby编写博客应用
用Ruby编写博客应用用Ruby编写博客应用
用Ruby编写博客应用Jiang Wu
 
No more script tag soup!
No more script tag soup!No more script tag soup!
No more script tag soup!Kyle Simpson
 
scaling compiled applications - highload 2013
scaling compiled applications - highload 2013scaling compiled applications - highload 2013
scaling compiled applications - highload 2013ice799
 
A First Look at RedwoodJS
A First Look at RedwoodJSA First Look at RedwoodJS
A First Look at RedwoodJSAnthony Campolo
 
Write parser with fun!
Write parser with fun!Write parser with fun!
Write parser with fun!Akihiro Okuno
 

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

Fisl aumentando lucro-python
Fisl aumentando lucro-pythonFisl aumentando lucro-python
Fisl aumentando lucro-pythonAndre Fonseca
 
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...Anderson Diniz Hummel
 
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 coletivaAndre Fonseca
 
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 Aldabaux singapore
 

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

DiUS Computing Lca Rails Final
DiUS  Computing Lca Rails FinalDiUS  Computing Lca Rails Final
DiUS Computing Lca Rails FinalRobert Postill
 
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 CoffeeScriptSusan Potter
 
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 futureHiroshi SHIBATA
 
Ros with docker 20151107
Ros with docker  20151107Ros with docker  20151107
Ros with docker 20151107Sejin Park
 
Bitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBrian Sam-Bodden
 
WebSocket For Web Rubyists
WebSocket For Web RubyistsWebSocket For Web Rubyists
WebSocket For Web RubyistsMu-Fan Teng
 
Libraries Frameworks And Cms
Libraries Frameworks And CmsLibraries Frameworks And Cms
Libraries Frameworks And CmsMark Casias
 
Web Frameworks of the Future
Web Frameworks of the FutureWeb Frameworks of the Future
Web Frameworks of the Futureelliando dias
 
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Yohei Yasukawa
 
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 ClojureScriptelliando dias
 
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 CloudHiro Asari
 
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)Tobias Pfeiffer
 
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)Jan Wedekind
 
Lessons Learnt in 2009
Lessons Learnt in 2009Lessons Learnt in 2009
Lessons Learnt in 2009pratiknaik
 
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 PythonTed Leung
 
The story of language development
The story of language developmentThe story of language development
The story of language developmentHiroshi SHIBATA
 

Ä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

Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxFIDO Alliance
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Skynet Technologies
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsLeah Henrickson
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTopCSSGallery
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceSamy Fodil
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxFIDO Alliance
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024Stephen Perrenod
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuidePixlogix Infotech
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctBrainSell Technologies
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingScyllaDB
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewDianaGray10
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxFIDO Alliance
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfSrushith Repakula
 

Kürzlich hochgeladen (20)

Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 

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