SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Opal chapter 4_a_new_hope
Opal chapter 4_a_new_hopeOpal chapter 4_a_new_hope
Opal chapter 4_a_new_hopeForrest 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 browserForrest Chang
 
XRuby_Overview_20070831
XRuby_Overview_20070831XRuby_Overview_20070831
XRuby_Overview_20070831dreamhead
 
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 Debuggeryamanekko
 
Over 9000: JRuby in 2015
Over 9000: JRuby in 2015Over 9000: JRuby in 2015
Over 9000: JRuby in 2015Charles Nutter
 
Agile DSL Development in Ruby
Agile DSL Development in RubyAgile DSL Development in Ruby
Agile DSL Development in Rubyelliando 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 RubyJeff 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 JVMRaimonds Simanovskis
 
The Ruby Racer: under the hood
The Ruby Racer: under the hoodThe Ruby Racer: under the hood
The Ruby Racer: under the hoodcowboyd
 

Was ist angesagt? (14)

Opal chapter 4_a_new_hope
Opal chapter 4_a_new_hopeOpal chapter 4_a_new_hope
Opal chapter 4_a_new_hope
 
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
 
XRuby_Overview_20070831
XRuby_Overview_20070831XRuby_Overview_20070831
XRuby_Overview_20070831
 
Moving to PHP from Java
Moving to PHP from JavaMoving to PHP from Java
Moving to PHP from Java
 
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?
 
Extjs Howto
Extjs HowtoExtjs Howto
Extjs Howto
 
JRuby: The Hard Parts
JRuby: The Hard PartsJRuby: The Hard Parts
JRuby: The Hard Parts
 
Writing mruby Debugger
Writing mruby DebuggerWriting mruby Debugger
Writing mruby Debugger
 
MacRuby
MacRubyMacRuby
MacRuby
 
Over 9000: JRuby in 2015
Over 9000: JRuby in 2015Over 9000: JRuby in 2015
Over 9000: JRuby in 2015
 
Agile DSL Development in Ruby
Agile DSL Development in RubyAgile DSL Development in Ruby
Agile DSL Development in Ruby
 
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
 
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
 
The Ruby Racer: under the hood
The Ruby Racer: under the hoodThe Ruby Racer: under the hood
The Ruby Racer: under the hood
 

Andere mochten auch

Healthy nutrition rules
Healthy nutrition rulesHealthy nutrition rules
Healthy nutrition rulesAnar 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 Todayxwood
 
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 Ratingbpedersen
 
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 modelMabrouk 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-seSenior Sistemas
 
20091217_EPE-B.Aigaiou_Tsigos
20091217_EPE-B.Aigaiou_Tsigos20091217_EPE-B.Aigaiou_Tsigos
20091217_EPE-B.Aigaiou_TsigosDimitris Tsingos
 
20130521 hsa maritime-week
20130521 hsa maritime-week20130521 hsa maritime-week
20130521 hsa maritime-weekDimitris Tsingos
 
Jupiterimages Roytalty-Free Catalog2
Jupiterimages Roytalty-Free Catalog2Jupiterimages Roytalty-Free Catalog2
Jupiterimages Roytalty-Free Catalog2Melissa Stauffer
 
MedicinMan vol1 Issue 4; November 2011
MedicinMan vol1 Issue 4; November 2011MedicinMan vol1 Issue 4; November 2011
MedicinMan vol1 Issue 4; November 2011Anup Soans
 
Content area read alouds
Content area read aloudsContent area read alouds
Content area read aloudsS Bryce Kozla
 
YouGO! Magazine - Wakacje 2014
YouGO! Magazine - Wakacje 2014YouGO! Magazine - Wakacje 2014
YouGO! Magazine - Wakacje 2014YouGO!
 
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_2011James Metcalfe
 

Andere mochten auch (20)

Healthy nutrition rules
Healthy nutrition rulesHealthy nutrition rules
Healthy nutrition rules
 
Blended learning
Blended learningBlended learning
Blended learning
 
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...
 
Il laboratorio ComunicAbilità
Il laboratorio ComunicAbilitàIl laboratorio ComunicAbilità
Il laboratorio ComunicAbilità
 
音乐摇摆可乐罐
音乐摇摆可乐罐音乐摇摆可乐罐
音乐摇摆可乐罐
 
Technology In Our Schools Today
Technology In Our Schools TodayTechnology In Our Schools Today
Technology In Our Schools Today
 
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
 
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!
 
Career Portfolio
Career PortfolioCareer Portfolio
Career Portfolio
 
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
 
лето
летолето
лето
 
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
 
20091217_EPE-B.Aigaiou_Tsigos
20091217_EPE-B.Aigaiou_Tsigos20091217_EPE-B.Aigaiou_Tsigos
20091217_EPE-B.Aigaiou_Tsigos
 
20130521 hsa maritime-week
20130521 hsa maritime-week20130521 hsa maritime-week
20130521 hsa maritime-week
 
Jupiterimages Roytalty-Free Catalog2
Jupiterimages Roytalty-Free Catalog2Jupiterimages Roytalty-Free Catalog2
Jupiterimages Roytalty-Free Catalog2
 
MedicinMan vol1 Issue 4; November 2011
MedicinMan vol1 Issue 4; November 2011MedicinMan vol1 Issue 4; November 2011
MedicinMan vol1 Issue 4; November 2011
 
Content area read alouds
Content area read aloudsContent area read alouds
Content area read alouds
 
YouGO! Magazine - Wakacje 2014
YouGO! Magazine - Wakacje 2014YouGO! Magazine - Wakacje 2014
YouGO! Magazine - Wakacje 2014
 
Mother
MotherMother
Mother
 
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
 

Ähnlich wie JRuby - The Perfect Alternative

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
 
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
 
Bitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBrian Sam-Bodden
 
Introduction to JRuby
Introduction to JRubyIntroduction to JRuby
Introduction to JRubyajuckel
 
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 MePanagiotis Papadopoulos
 
JRuby in the enterprise
JRuby in the enterpriseJRuby in the enterprise
JRuby in the enterpriseJerry 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 RubyAnis Ahmad
 
Jruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-javaJruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-javaKeith Bennett
 
Introduction to JRuby
Introduction to JRubyIntroduction to JRuby
Introduction to JRubyelliando dias
 
JRuby - Java version of Ruby
JRuby - Java version of RubyJRuby - Java version of Ruby
JRuby - Java version of RubyUday 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 - JRubyCharles 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 gotBaruch 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 2012Charles Nutter
 

Ähnlich wie JRuby - The Perfect Alternative (20)

Day 8 - jRuby
Day 8 - jRubyDay 8 - jRuby
Day 8 - jRuby
 
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 ?
 
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
 
Bitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRuby
 
Introduction to JRuby
Introduction to JRubyIntroduction to JRuby
Introduction to 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
 
Euruko 2012 - JRuby
Euruko 2012 - JRubyEuruko 2012 - JRuby
Euruko 2012 - JRuby
 
JRuby in the enterprise
JRuby in the enterpriseJRuby in the enterprise
JRuby in the enterprise
 
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
 
Practical JRuby
Practical JRubyPractical JRuby
Practical JRuby
 
Ugo Cei Presentation
Ugo Cei PresentationUgo Cei Presentation
Ugo Cei Presentation
 
Jruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-javaJruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-java
 
Introduction to JRuby
Introduction to JRubyIntroduction to JRuby
Introduction to JRuby
 
JRuby - Java version of Ruby
JRuby - Java version of RubyJRuby - Java version of Ruby
JRuby - Java version of Ruby
 
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』
 
Aloha RubyConf 2012 - JRuby
Aloha RubyConf 2012 - JRubyAloha RubyConf 2012 - JRuby
Aloha RubyConf 2012 - JRuby
 
Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)
 
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
 
Java notes | All Basics |
Java notes | All Basics |Java notes | All Basics |
Java notes | All Basics |
 
Why JRuby? - RubyConf 2012
Why JRuby? - RubyConf 2012Why JRuby? - RubyConf 2012
Why JRuby? - RubyConf 2012
 

Kürzlich hochgeladen

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Kürzlich hochgeladen (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

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