SlideShare a Scribd company logo
1 of 24
XRuby Enjoy Ruby on JVM Ye Zheng http://dreamhead.blogbus.com
Agenda ,[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object]
What is XRuby ,[object Object],XRuby .rb .class
XRuby current status ,[object Object],[object Object],[object Object],[object Object],[object Object]
Two Ways to JVM(I) ,[object Object],[object Object],[object Object],[object Object],[object Object],Ruby Script Parser AST
Two Ways to JVM(II) ,[object Object],[object Object],[object Object],[object Object],[object Object],Ruby Script Compiler .class
Why Compilation is Faster ,[object Object],JVM JVM Interpretation Engine Ruby Script Ruby Script Interpretation Compilation
Misunderstandings ,[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object]
XRuby Architecture (overview) XRuby Compiler Runtime Parser Codegen Codedom Lang Builtin Java Support
XRuby Architecture (compiler) Parser .rb .class Tree Parser Code Gen AST Code Dom Antlr ASM XRuby Compiler
XRuby Architecture (runtime) Dynamic Language Support Builtin Java Support XRuby Runtime
Agenda ,[object Object],[object Object],[object Object],[object Object]
XRuby Jump Start (Ruby code) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XRuby Jump Start (compile and run) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XRuby Jump Start (builtin) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XRuby Jump Start (reference) ,[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object]
XRuby’s Future ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Contribution to XRuby ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Enjoy XRuby ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
For More Information ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Welcome to XRuby

More Related Content

What's hot

Introduction to JRuby
Introduction to JRubyIntroduction to JRuby
Introduction to JRuby
elliando dias
 
tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02
Hiroshi SHIBATA
 

What's hot (20)

roofimon@njug5
roofimon@njug5roofimon@njug5
roofimon@njug5
 
Introduction to Ruby
Introduction to RubyIntroduction to Ruby
Introduction to Ruby
 
MacRuby: What is it? and why should you care?
MacRuby: What is it? and why should you care?MacRuby: What is it? and why should you care?
MacRuby: What is it? and why should you care?
 
Ruby Presentation - Beamer
Ruby Presentation - BeamerRuby Presentation - Beamer
Ruby Presentation - Beamer
 
Ruby 2.4 Internals
Ruby 2.4 InternalsRuby 2.4 Internals
Ruby 2.4 Internals
 
Connecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRubyConnecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRuby
 
Python while loops (menard maranan)
Python while loops (menard maranan)Python while loops (menard maranan)
Python while loops (menard maranan)
 
Python for loops
Python for loopsPython for loops
Python for loops
 
Metaprogramming in Ruby
Metaprogramming in RubyMetaprogramming in Ruby
Metaprogramming in Ruby
 
JRuby 9000 - Taipei Ruby User's Group 2015
JRuby 9000 - Taipei Ruby User's Group 2015JRuby 9000 - Taipei Ruby User's Group 2015
JRuby 9000 - Taipei Ruby User's Group 2015
 
How to develop the Standard Libraries of Ruby?
How to develop the Standard Libraries of Ruby?How to develop the Standard Libraries of Ruby?
How to develop the Standard Libraries of Ruby?
 
2009 07 21: Nested Attributes
2009 07 21: Nested Attributes2009 07 21: Nested Attributes
2009 07 21: Nested Attributes
 
Introduction to JRuby
Introduction to JRubyIntroduction to JRuby
Introduction to JRuby
 
The Ruby Racer: under the hood
The Ruby Racer: under the hoodThe Ruby Racer: under the hood
The Ruby Racer: under the hood
 
Js bad_
 Js bad_ Js bad_
Js bad_
 
tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02
 
Ruby programming
Ruby programmingRuby programming
Ruby programming
 
From 'Legacy' to 'Edge'
From 'Legacy' to 'Edge'From 'Legacy' to 'Edge'
From 'Legacy' to 'Edge'
 
Introduction to clojure
Introduction to clojureIntroduction to clojure
Introduction to clojure
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the world
 

Viewers also liked

Сельскохозяйственный и экономический кризис XVI в. в России: влияние институт...
Сельскохозяйственный и экономический кризис XVI в. в России: влияние институт...Сельскохозяйственный и экономический кризис XVI в. в России: влияние институт...
Сельскохозяйственный и экономический кризис XVI в. в России: влияние институт...
Mike Vdovin
 
Best Practice, Agenzia FVG_Sabrina Pesarini, Web 2.0 quale strategia per le d...
Best Practice, Agenzia FVG_Sabrina Pesarini, Web 2.0 quale strategia per le d...Best Practice, Agenzia FVG_Sabrina Pesarini, Web 2.0 quale strategia per le d...
Best Practice, Agenzia FVG_Sabrina Pesarini, Web 2.0 quale strategia per le d...
Manuela Moroncini
 
X-Zelit Farm trials nonproblem herds GERMAN
X-Zelit Farm trials nonproblem herds GERMANX-Zelit Farm trials nonproblem herds GERMAN
X-Zelit Farm trials nonproblem herds GERMAN
Vilofoss
 
Xogos olímpicos londres
Xogos olímpicos londresXogos olímpicos londres
Xogos olímpicos londres
xiaoaller
 

Viewers also liked (14)

Сельскохозяйственный и экономический кризис XVI в. в России: влияние институт...
Сельскохозяйственный и экономический кризис XVI в. в России: влияние институт...Сельскохозяйственный и экономический кризис XVI в. в России: влияние институт...
Сельскохозяйственный и экономический кризис XVI в. в России: влияние институт...
 
Best Practice, Agenzia FVG_Sabrina Pesarini, Web 2.0 quale strategia per le d...
Best Practice, Agenzia FVG_Sabrina Pesarini, Web 2.0 quale strategia per le d...Best Practice, Agenzia FVG_Sabrina Pesarini, Web 2.0 quale strategia per le d...
Best Practice, Agenzia FVG_Sabrina Pesarini, Web 2.0 quale strategia per le d...
 
Xplor CET CD ( Ver 08)
Xplor CET  CD ( Ver 08)Xplor CET  CD ( Ver 08)
Xplor CET CD ( Ver 08)
 
xyzmo@Ono Academic
xyzmo@Ono Academicxyzmo@Ono Academic
xyzmo@Ono Academic
 
Capture Accurate Solution Requirements with Exploratory Modeling at SAP
Capture Accurate Solution Requirements with Exploratory Modeling at SAPCapture Accurate Solution Requirements with Exploratory Modeling at SAP
Capture Accurate Solution Requirements with Exploratory Modeling at SAP
 
xRM4Legal for the Call Center Web2CRM
xRM4Legal for the Call Center Web2CRMxRM4Legal for the Call Center Web2CRM
xRM4Legal for the Call Center Web2CRM
 
Planning Agile Projects
Planning Agile ProjectsPlanning Agile Projects
Planning Agile Projects
 
Xtreme Revolution Flyer 2015
Xtreme Revolution Flyer 2015Xtreme Revolution Flyer 2015
Xtreme Revolution Flyer 2015
 
XXIII HR Weekend - Социалната ангажираност – дълг или потребност?
XXIII HR Weekend - Социалната ангажираност – дълг или потребност?XXIII HR Weekend - Социалната ангажираност – дълг или потребност?
XXIII HR Weekend - Социалната ангажираност – дълг или потребност?
 
Xtian
XtianXtian
Xtian
 
X-Zelit Farm trials nonproblem herds GERMAN
X-Zelit Farm trials nonproblem herds GERMANX-Zelit Farm trials nonproblem herds GERMAN
X-Zelit Farm trials nonproblem herds GERMAN
 
Exportações do Rio Grande do Sul: Janeiro-Novembro de 2012
Exportações do Rio Grande do Sul:  Janeiro-Novembro de 2012Exportações do Rio Grande do Sul:  Janeiro-Novembro de 2012
Exportações do Rio Grande do Sul: Janeiro-Novembro de 2012
 
ÁPICE - XXV Congreso Internacional de Crédito Educativo - Panel 2 - UNIMINUTO
ÁPICE - XXV Congreso Internacional de Crédito Educativo - Panel 2 - UNIMINUTOÁPICE - XXV Congreso Internacional de Crédito Educativo - Panel 2 - UNIMINUTO
ÁPICE - XXV Congreso Internacional de Crédito Educativo - Panel 2 - UNIMINUTO
 
Xogos olímpicos londres
Xogos olímpicos londresXogos olímpicos londres
Xogos olímpicos londres
 

Similar to XRuby_Overview_20070831

Jruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-javaJruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-java
Keith Bennett
 
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
Nick Sieger
 

Similar to XRuby_Overview_20070831 (20)

Practical JRuby
Practical JRubyPractical JRuby
Practical JRuby
 
Rjb
RjbRjb
Rjb
 
Jruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-javaJruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-java
 
Ruby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developerRuby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developer
 
First Day With J Ruby
First Day With J RubyFirst Day With J Ruby
First Day With J Ruby
 
The Enterprise Strikes Back
The Enterprise Strikes BackThe Enterprise Strikes Back
The Enterprise Strikes Back
 
Bitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRuby
 
Java, Ruby & Rails
Java, Ruby & RailsJava, Ruby & Rails
Java, Ruby & Rails
 
JRuby @ Boulder Ruby
JRuby @ Boulder RubyJRuby @ Boulder Ruby
JRuby @ Boulder Ruby
 
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
 
Практики применения JRuby
Практики применения JRubyПрактики применения JRuby
Практики применения JRuby
 
Ruby On Google App Engine 2nd Athens Ruby Me
Ruby On Google App Engine 2nd Athens Ruby MeRuby On Google App Engine 2nd Athens Ruby Me
Ruby On Google App Engine 2nd Athens Ruby Me
 
Concurrency in ruby
Concurrency in rubyConcurrency in ruby
Concurrency in ruby
 
Ugo Cei Presentation
Ugo Cei PresentationUgo Cei Presentation
Ugo Cei Presentation
 
Get Going With RVM and Rails 3
Get Going With RVM and Rails 3Get Going With RVM and Rails 3
Get Going With RVM and Rails 3
 
How DSL works on Ruby
How DSL works on RubyHow DSL works on Ruby
How DSL works on Ruby
 
Ruby
RubyRuby
Ruby
 
The Dark Side Of Lambda Expressions in Java 8
The Dark Side Of Lambda Expressions in Java 8The Dark Side Of Lambda Expressions in Java 8
The Dark Side Of Lambda Expressions in Java 8
 
JRuby - Java version of Ruby
JRuby - Java version of RubyJRuby - Java version of Ruby
JRuby - Java version of Ruby
 
Remote Method Invocation
Remote Method InvocationRemote Method Invocation
Remote Method Invocation
 

Recently uploaded

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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 

XRuby_Overview_20070831