SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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!
 

Destaque

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
 

Destaque (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?
 

Semelhante a Java Platform Beyond Code - Leveraging the JVM for Productivity

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
 

Semelhante a Java Platform Beyond Code - Leveraging the JVM for Productivity (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
 

Último

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Último (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Java Platform Beyond Code - Leveraging the JVM for Productivity

Notas do Editor

  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