SlideShare a Scribd company logo
Ram Vijapurapu
  @rvijapurapu
What is JRuby?

Its just Ruby
Running on the JVM
(Java Virtual Machine)
Conclusion




..I truly wish it is that simple.



 Image credit: http://www.flickr.com/photos/hordurk/3204191929/
Social Context
Social Context
Social Context
Why do we want to go back to the
        Haunted House again?
● Reuse what's already built
                 Enterprise Ready
● Need of a Scalable Platform
                       ^
● Need for an inclusive Platform


   – Ruby, Groovy, Python, JS, ..
●
    Generally Love of Engineering
    Genius
What is the first thing you hear
            about Java?




Image credit: http://bit.ly/btxcPf
Common Man! Java is Slooow
●   Maybe... Maybe not!

     ACHTUNG! Highly Unscientific Testing
Common Man! Java is Slooow


              No
              Optimizations
Common Man! Java is Slooow
             100
Common Man! Java is Slooow
             1,000
Common Man! Java is Slooow
             10,000
Common Man! Java is Slooow
             100,000
Common Man! Java is Slooow
              100,000
What's your Point?
See Java is sl0000w!
st
                      a
Common Man! Java is Slooow
                    F
            1,000,000
st
                     F a
 Common Man! Java is Slooow
                     Fast




             1,000,000
Clearly you
fudged it!
You fudged it!
●   Maybe – but there is method in madness
You fudged it!
         Moral: Focus on your code
  ●   Maybe JVM there is care ofin madness
         & – but takes method the rest
         – well into the future




Performance Improvements in JVM from
1.5 to 1.6 have been significant. both are
running i386
What just happened?
●   Magic – JVM/Hotspot (Dark Magic?)
    ●   JIT (Just In Time Compilation) – Optimization on the
        Fly
    ●   Speaking further on this is beyond the scope of this
        presentation _


Summary: Normal usage on Web you will find
JRuby performs same as CRuby
As all good things in life........
       there are few limitations
●   You cannot use libraries which use CRuby
    Extensions
●   Java Threads
●   Posix Methods
●   Does not support continuations/bindings.
    (Feature Missing)
       http://docs.codehaus.org/display/JRUBY/Limitations
Same stuff – Different Different
●   ruby                     ●   jruby
●   Irb                      ●   jirb
●   rake                     ●   jruby -S rake
●   gem                      ●   jruby -S gem


     Include jruby-complete.jar or jruby.jar in
     your CLASSPATH & PATH for the
     executable
Show me stuff... JRuby
 integration with JVM




              Ruby'ized – by popular demand!
Choose your Hammer – Calling
   Ruby from within Java
Choose your Hammer – Calling
   Ruby from within Java




   JSR 223
Choose your Hammer – Calling
Ruby & Groovy from within Java
Choose your Hammer – Calling
Ruby & Groovy from within Java
         Why would we want to do
         this? Because we   can
Choose your Hammer – Calling
 JRuby file from within Java
Choose your Hammer – Calling
 JRuby file from within Java
Ruby > Java
Ruby > Java & Back




     [SNIPPED]
Ruby > Java & Back
Performance & External Libraries
●   For the sake of performance it would be better
    to use Java Libraries over JRuby at times.
    ●   Totally depends on your requirement.
●   Including external Java libraries within your
    JRuby Code is fairly straightforward
    ●   You can also put the jar files in the rails lib directory
        for getting access to them in your rails application
JfreeChart – Chart Generation
●   All you need to do is either have the jars in your
    classpath
●   Or include it in your libs folder in rails.




                 http://kfahlgren.com/blog/2007/04/13/jruby-jfreechart-sparklines/
JRuby & Library Jars
This guy is boring why doesn't he
       just show me rails
The Holy Blog
...
...
DB Stuff
Packaging...
Packaging & Deploying




                   config/warble.rb
Voila
In Summary
●   I strongly believe JVM should be your platform
    Strategy
    ●   This more or less comes out of my experience.
    ●   JRuby will fit into many cloud architectures with little
        effort (Not sure of Azure yet)
        –   Portability from within
Useful Links
●   http://jruby.org/
●   http://www.infoq.com/vendorcontent/show.action?vc
●   http://code.google.com/p/appengine-jruby/ >
    http://rails-depot.appspot.com/
●   http://en.wikipedia.org/wiki/JRuby#Performance
Ram Vijapurapu
   @rvijapurapu
thinkbelievedo.com
Ad

More Related Content

What's hot (14)

Opal chapter 4_a_new_hope
Opal chapter 4_a_new_hopeOpal chapter 4_a_new_hope
Opal chapter 4_a_new_hope
Forrest Chang
 
Opal - Ruby Style!! Ruby in the browser
Opal - Ruby Style!!  Ruby in the browserOpal - Ruby Style!!  Ruby in the browser
Opal - Ruby Style!! Ruby in the browser
Forrest Chang
 
XRuby_Overview_20070831
XRuby_Overview_20070831XRuby_Overview_20070831
XRuby_Overview_20070831
dreamhead
 
Moving to PHP from Java
Moving to PHP from JavaMoving to PHP from Java
Moving to PHP from Java
Ivo Roberto Batistela
 
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?
Joshua Ballanco
 
Extjs Howto
Extjs HowtoExtjs Howto
Extjs Howto
Greg Hendricks
 
JRuby: The Hard Parts
JRuby: The Hard PartsJRuby: The Hard Parts
JRuby: The Hard Parts
Charles Nutter
 
Writing mruby Debugger
Writing mruby DebuggerWriting mruby Debugger
Writing mruby Debugger
yamanekko
 
MacRuby
MacRubyMacRuby
MacRuby
bostonrb
 
Over 9000: JRuby in 2015
Over 9000: JRuby in 2015Over 9000: JRuby in 2015
Over 9000: JRuby in 2015
Charles Nutter
 
Agile DSL Development in Ruby
Agile DSL Development in RubyAgile DSL Development in Ruby
Agile DSL Development in Ruby
elliando dias
 
Top 10+ Things .NET Developers Should Know About Ruby
Top 10+ Things .NET Developers Should Know About RubyTop 10+ Things .NET Developers Should Know About Ruby
Top 10+ Things .NET Developers Should Know About Ruby
Jeff Cohen
 
JRuby - Programmer's Best Friend on JVM
JRuby - Programmer's Best Friend on JVMJRuby - Programmer's Best Friend on JVM
JRuby - Programmer's Best Friend on JVM
Raimonds Simanovskis
 
The Ruby Racer: under the hood
The Ruby Racer: under the hoodThe Ruby Racer: under the hood
The Ruby Racer: under the hood
cowboyd
 
Opal chapter 4_a_new_hope
Opal chapter 4_a_new_hopeOpal chapter 4_a_new_hope
Opal chapter 4_a_new_hope
Forrest Chang
 
Opal - Ruby Style!! Ruby in the browser
Opal - Ruby Style!!  Ruby in the browserOpal - Ruby Style!!  Ruby in the browser
Opal - Ruby Style!! Ruby in the browser
Forrest Chang
 
XRuby_Overview_20070831
XRuby_Overview_20070831XRuby_Overview_20070831
XRuby_Overview_20070831
dreamhead
 
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?
Joshua Ballanco
 
Writing mruby Debugger
Writing mruby DebuggerWriting mruby Debugger
Writing mruby Debugger
yamanekko
 
Over 9000: JRuby in 2015
Over 9000: JRuby in 2015Over 9000: JRuby in 2015
Over 9000: JRuby in 2015
Charles Nutter
 
Agile DSL Development in Ruby
Agile DSL Development in RubyAgile DSL Development in Ruby
Agile DSL Development in Ruby
elliando dias
 
Top 10+ Things .NET Developers Should Know About Ruby
Top 10+ Things .NET Developers Should Know About RubyTop 10+ Things .NET Developers Should Know About Ruby
Top 10+ Things .NET Developers Should Know About Ruby
Jeff Cohen
 
JRuby - Programmer's Best Friend on JVM
JRuby - Programmer's Best Friend on JVMJRuby - Programmer's Best Friend on JVM
JRuby - Programmer's Best Friend on JVM
Raimonds Simanovskis
 
The Ruby Racer: under the hood
The Ruby Racer: under the hoodThe Ruby Racer: under the hood
The Ruby Racer: under the hood
cowboyd
 

Viewers also liked (20)

Healthy nutrition rules
Healthy nutrition rulesHealthy nutrition rules
Healthy nutrition rules
Anar R Guliyev
 
Blended learning
Blended learningBlended learning
Blended learning
Universidad de Murcia
 
KNOWLEDGE INTENSIVE BUSINESS SERVICES NEL VENETO: UN’INDAGINE NELL’INDUSTRI...
KNOWLEDGE INTENSIVE BUSINESS  SERVICES NEL VENETO: UN’INDAGINE  NELL’INDUSTRI...KNOWLEDGE INTENSIVE BUSINESS  SERVICES NEL VENETO: UN’INDAGINE  NELL’INDUSTRI...
KNOWLEDGE INTENSIVE BUSINESS SERVICES NEL VENETO: UN’INDAGINE NELL’INDUSTRI...
Matteo Dario
 
Il laboratorio ComunicAbilità
Il laboratorio ComunicAbilitàIl laboratorio ComunicAbilità
Il laboratorio ComunicAbilità
Centro Documentazione Handicap
 
音乐摇摆可乐罐
音乐摇摆可乐罐音乐摇摆可乐罐
音乐摇摆可乐罐
zust
 
Technology In Our Schools Today
Technology In Our Schools TodayTechnology In Our Schools Today
Technology In Our Schools Today
xwood
 
Prioritizing Process Improvement And Ignoring The Rating
Prioritizing Process Improvement And Ignoring The RatingPrioritizing Process Improvement And Ignoring The Rating
Prioritizing Process Improvement And Ignoring The Rating
bpedersen
 
Five Disruptive Forces that are Shaking Up Indian Pharma!
Five Disruptive Forces that are Shaking Up Indian Pharma! Five Disruptive Forces that are Shaking Up Indian Pharma!
Five Disruptive Forces that are Shaking Up Indian Pharma!
Anup Soans
 
Career Portfolio
Career PortfolioCareer Portfolio
Career Portfolio
MontgomeryRats
 
Exploring spatial pattern formation using a simple individual-based model
Exploring spatial pattern formation using a simple individual-based modelExploring spatial pattern formation using a simple individual-based model
Exploring spatial pattern formation using a simple individual-based model
Mabrouk Nabil
 
Bloco K: Entenda as mudanças e prepare-se
Bloco K: Entenda as mudanças e prepare-seBloco K: Entenda as mudanças e prepare-se
Bloco K: Entenda as mudanças e prepare-se
Senior Sistemas
 
20091217_EPE-B.Aigaiou_Tsigos
20091217_EPE-B.Aigaiou_Tsigos20091217_EPE-B.Aigaiou_Tsigos
20091217_EPE-B.Aigaiou_Tsigos
Dimitris Tsingos
 
20130521 hsa maritime-week
20130521 hsa maritime-week20130521 hsa maritime-week
20130521 hsa maritime-week
Dimitris Tsingos
 
Jupiterimages Roytalty-Free Catalog2
Jupiterimages Roytalty-Free Catalog2Jupiterimages Roytalty-Free Catalog2
Jupiterimages Roytalty-Free Catalog2
Melissa Stauffer
 
MedicinMan vol1 Issue 4; November 2011
MedicinMan vol1 Issue 4; November 2011MedicinMan vol1 Issue 4; November 2011
MedicinMan vol1 Issue 4; November 2011
Anup Soans
 
Content area read alouds
Content area read aloudsContent area read alouds
Content area read alouds
S Bryce Kozla
 
YouGO! Magazine - Wakacje 2014
YouGO! Magazine - Wakacje 2014YouGO! Magazine - Wakacje 2014
YouGO! Magazine - Wakacje 2014
YouGO!
 
Mother
MotherMother
Mother
Venkatesh Vijaykumar
 
Toronto Real Estate Housing Statistics May_2011
Toronto Real Estate Housing Statistics May_2011Toronto Real Estate Housing Statistics May_2011
Toronto Real Estate Housing Statistics May_2011
James Metcalfe
 
Healthy nutrition rules
Healthy nutrition rulesHealthy nutrition rules
Healthy nutrition rules
Anar R Guliyev
 
KNOWLEDGE INTENSIVE BUSINESS SERVICES NEL VENETO: UN’INDAGINE NELL’INDUSTRI...
KNOWLEDGE INTENSIVE BUSINESS  SERVICES NEL VENETO: UN’INDAGINE  NELL’INDUSTRI...KNOWLEDGE INTENSIVE BUSINESS  SERVICES NEL VENETO: UN’INDAGINE  NELL’INDUSTRI...
KNOWLEDGE INTENSIVE BUSINESS SERVICES NEL VENETO: UN’INDAGINE NELL’INDUSTRI...
Matteo Dario
 
音乐摇摆可乐罐
音乐摇摆可乐罐音乐摇摆可乐罐
音乐摇摆可乐罐
zust
 
Technology In Our Schools Today
Technology In Our Schools TodayTechnology In Our Schools Today
Technology In Our Schools Today
xwood
 
Prioritizing Process Improvement And Ignoring The Rating
Prioritizing Process Improvement And Ignoring The RatingPrioritizing Process Improvement And Ignoring The Rating
Prioritizing Process Improvement And Ignoring The Rating
bpedersen
 
Five Disruptive Forces that are Shaking Up Indian Pharma!
Five Disruptive Forces that are Shaking Up Indian Pharma! Five Disruptive Forces that are Shaking Up Indian Pharma!
Five Disruptive Forces that are Shaking Up Indian Pharma!
Anup Soans
 
Exploring spatial pattern formation using a simple individual-based model
Exploring spatial pattern formation using a simple individual-based modelExploring spatial pattern formation using a simple individual-based model
Exploring spatial pattern formation using a simple individual-based model
Mabrouk Nabil
 
Bloco K: Entenda as mudanças e prepare-se
Bloco K: Entenda as mudanças e prepare-seBloco K: Entenda as mudanças e prepare-se
Bloco K: Entenda as mudanças e prepare-se
Senior Sistemas
 
20091217_EPE-B.Aigaiou_Tsigos
20091217_EPE-B.Aigaiou_Tsigos20091217_EPE-B.Aigaiou_Tsigos
20091217_EPE-B.Aigaiou_Tsigos
Dimitris Tsingos
 
20130521 hsa maritime-week
20130521 hsa maritime-week20130521 hsa maritime-week
20130521 hsa maritime-week
Dimitris Tsingos
 
Jupiterimages Roytalty-Free Catalog2
Jupiterimages Roytalty-Free Catalog2Jupiterimages Roytalty-Free Catalog2
Jupiterimages Roytalty-Free Catalog2
Melissa Stauffer
 
MedicinMan vol1 Issue 4; November 2011
MedicinMan vol1 Issue 4; November 2011MedicinMan vol1 Issue 4; November 2011
MedicinMan vol1 Issue 4; November 2011
Anup Soans
 
Content area read alouds
Content area read aloudsContent area read alouds
Content area read alouds
S Bryce Kozla
 
YouGO! Magazine - Wakacje 2014
YouGO! Magazine - Wakacje 2014YouGO! Magazine - Wakacje 2014
YouGO! Magazine - Wakacje 2014
YouGO!
 
Toronto Real Estate Housing Statistics May_2011
Toronto Real Estate Housing Statistics May_2011Toronto Real Estate Housing Statistics May_2011
Toronto Real Estate Housing Statistics May_2011
James Metcalfe
 
Ad

Similar to JRuby - The Perfect Alternative (20)

Day 8 - jRuby
Day 8 - jRubyDay 8 - jRuby
Day 8 - jRuby
Barry Jones
 
Glass fish rubyconf-india-2010-Arun gupta
Glass fish rubyconf-india-2010-Arun gupta Glass fish rubyconf-india-2010-Arun gupta
Glass fish rubyconf-india-2010-Arun gupta
ThoughtWorks
 
GlassFish can support multiple Ruby frameworks ... really ?
GlassFish can support multiple Ruby frameworks ... really ?GlassFish can support multiple Ruby frameworks ... really ?
GlassFish can support multiple Ruby frameworks ... really ?
Arun Gupta
 
Bitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRuby
Brian Sam-Bodden
 
Introduction to JRuby
Introduction to JRubyIntroduction to JRuby
Introduction to JRuby
ajuckel
 
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
Panagiotis Papadopoulos
 
Euruko 2012 - JRuby
Euruko 2012 - JRubyEuruko 2012 - JRuby
Euruko 2012 - JRuby
Charles Nutter
 
JRuby in the enterprise
JRuby in the enterpriseJRuby in the enterprise
JRuby in the enterprise
Jerry Gulla
 
Developing cross platform desktop application with Ruby
Developing cross platform desktop application with RubyDeveloping cross platform desktop application with Ruby
Developing cross platform desktop application with Ruby
Anis Ahmad
 
Practical JRuby
Practical JRubyPractical JRuby
Practical JRuby
David Keener
 
Ugo Cei Presentation
Ugo Cei PresentationUgo Cei Presentation
Ugo Cei Presentation
RubyOnRails_dude
 
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
 
Introduction to JRuby
Introduction to JRubyIntroduction to JRuby
Introduction to JRuby
elliando dias
 
JRuby - Java version of Ruby
JRuby - Java version of RubyJRuby - Java version of Ruby
JRuby - Java version of Ruby
Uday Bhaskar
 
20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』
20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』
20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』
Ryo RKTM
 
Aloha RubyConf 2012 - JRuby
Aloha RubyConf 2012 - JRubyAloha RubyConf 2012 - JRuby
Aloha RubyConf 2012 - JRuby
Charles Nutter
 
Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)
Martijn Verburg
 
How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we got
Baruch Sadogursky
 
Java notes | All Basics |
Java notes | All Basics |Java notes | All Basics |
Java notes | All Basics |
ShubhamAthawane
 
Why JRuby? - RubyConf 2012
Why JRuby? - RubyConf 2012Why JRuby? - RubyConf 2012
Why JRuby? - RubyConf 2012
Charles Nutter
 
Glass fish rubyconf-india-2010-Arun gupta
Glass fish rubyconf-india-2010-Arun gupta Glass fish rubyconf-india-2010-Arun gupta
Glass fish rubyconf-india-2010-Arun gupta
ThoughtWorks
 
GlassFish can support multiple Ruby frameworks ... really ?
GlassFish can support multiple Ruby frameworks ... really ?GlassFish can support multiple Ruby frameworks ... really ?
GlassFish can support multiple Ruby frameworks ... really ?
Arun Gupta
 
Bitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRuby
Brian Sam-Bodden
 
Introduction to JRuby
Introduction to JRubyIntroduction to JRuby
Introduction to JRuby
ajuckel
 
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
Panagiotis Papadopoulos
 
JRuby in the enterprise
JRuby in the enterpriseJRuby in the enterprise
JRuby in the enterprise
Jerry Gulla
 
Developing cross platform desktop application with Ruby
Developing cross platform desktop application with RubyDeveloping cross platform desktop application with Ruby
Developing cross platform desktop application with Ruby
Anis Ahmad
 
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
 
Introduction to JRuby
Introduction to JRubyIntroduction to JRuby
Introduction to JRuby
elliando dias
 
JRuby - Java version of Ruby
JRuby - Java version of RubyJRuby - Java version of Ruby
JRuby - Java version of Ruby
Uday Bhaskar
 
20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』
20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』
20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』
Ryo RKTM
 
Aloha RubyConf 2012 - JRuby
Aloha RubyConf 2012 - JRubyAloha RubyConf 2012 - JRuby
Aloha RubyConf 2012 - JRuby
Charles Nutter
 
Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)
Martijn Verburg
 
How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we got
Baruch Sadogursky
 
Java notes | All Basics |
Java notes | All Basics |Java notes | All Basics |
Java notes | All Basics |
ShubhamAthawane
 
Why JRuby? - RubyConf 2012
Why JRuby? - RubyConf 2012Why JRuby? - RubyConf 2012
Why JRuby? - RubyConf 2012
Charles Nutter
 
Ad

Recently uploaded (20)

How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 

JRuby - The Perfect Alternative

  • 1. Ram Vijapurapu @rvijapurapu
  • 2. What is JRuby? Its just Ruby Running on the JVM (Java Virtual Machine)
  • 3. Conclusion ..I truly wish it is that simple. Image credit: http://www.flickr.com/photos/hordurk/3204191929/
  • 7. Why do we want to go back to the Haunted House again? ● Reuse what's already built Enterprise Ready ● Need of a Scalable Platform ^ ● Need for an inclusive Platform – Ruby, Groovy, Python, JS, .. ● Generally Love of Engineering Genius
  • 8. What is the first thing you hear about Java? Image credit: http://bit.ly/btxcPf
  • 9. Common Man! Java is Slooow ● Maybe... Maybe not! ACHTUNG! Highly Unscientific Testing
  • 10. Common Man! Java is Slooow No Optimizations
  • 11. Common Man! Java is Slooow 100
  • 12. Common Man! Java is Slooow 1,000
  • 13. Common Man! Java is Slooow 10,000
  • 14. Common Man! Java is Slooow 100,000
  • 15. Common Man! Java is Slooow 100,000 What's your Point? See Java is sl0000w!
  • 16. st a Common Man! Java is Slooow F 1,000,000
  • 17. st F a Common Man! Java is Slooow Fast 1,000,000 Clearly you fudged it!
  • 18. You fudged it! ● Maybe – but there is method in madness
  • 19. You fudged it! Moral: Focus on your code ● Maybe JVM there is care ofin madness & – but takes method the rest – well into the future Performance Improvements in JVM from 1.5 to 1.6 have been significant. both are running i386
  • 20. What just happened? ● Magic – JVM/Hotspot (Dark Magic?) ● JIT (Just In Time Compilation) – Optimization on the Fly ● Speaking further on this is beyond the scope of this presentation _ Summary: Normal usage on Web you will find JRuby performs same as CRuby
  • 21. As all good things in life........ there are few limitations ● You cannot use libraries which use CRuby Extensions ● Java Threads ● Posix Methods ● Does not support continuations/bindings. (Feature Missing) http://docs.codehaus.org/display/JRUBY/Limitations
  • 22. Same stuff – Different Different ● ruby ● jruby ● Irb ● jirb ● rake ● jruby -S rake ● gem ● jruby -S gem Include jruby-complete.jar or jruby.jar in your CLASSPATH & PATH for the executable
  • 23. Show me stuff... JRuby integration with JVM Ruby'ized – by popular demand!
  • 24. Choose your Hammer – Calling Ruby from within Java
  • 25. Choose your Hammer – Calling Ruby from within Java JSR 223
  • 26. Choose your Hammer – Calling Ruby & Groovy from within Java
  • 27. Choose your Hammer – Calling Ruby & Groovy from within Java Why would we want to do this? Because we can
  • 28. Choose your Hammer – Calling JRuby file from within Java
  • 29. Choose your Hammer – Calling JRuby file from within Java
  • 31. Ruby > Java & Back [SNIPPED]
  • 32. Ruby > Java & Back
  • 33. Performance & External Libraries ● For the sake of performance it would be better to use Java Libraries over JRuby at times. ● Totally depends on your requirement. ● Including external Java libraries within your JRuby Code is fairly straightforward ● You can also put the jar files in the rails lib directory for getting access to them in your rails application
  • 34. JfreeChart – Chart Generation ● All you need to do is either have the jars in your classpath ● Or include it in your libs folder in rails. http://kfahlgren.com/blog/2007/04/13/jruby-jfreechart-sparklines/
  • 36. This guy is boring why doesn't he just show me rails
  • 38. ...
  • 39. ...
  • 42. Packaging & Deploying config/warble.rb
  • 43. Voila
  • 44. In Summary ● I strongly believe JVM should be your platform Strategy ● This more or less comes out of my experience. ● JRuby will fit into many cloud architectures with little effort (Not sure of Azure yet) – Portability from within
  • 45. Useful Links ● http://jruby.org/ ● http://www.infoq.com/vendorcontent/show.action?vc ● http://code.google.com/p/appengine-jruby/ > http://rails-depot.appspot.com/ ● http://en.wikipedia.org/wiki/JRuby#Performance
  • 46. Ram Vijapurapu @rvijapurapu thinkbelievedo.com