SlideShare a Scribd company logo
1 of 26
Download to read offline
www.af83.com

af83 France                        Ruby 1.9
                                   The Future of Ruby?
15 rue poissonnière, 75002 Paris
+33 1 42 72 33 32
contact@af83.com


af83 USA
1436 A Howard St.                  Bruno Michel
CA 94103 San Francisco
United States
                                   RMLL, Bordeaux, 07/08/2010
Introduction



      Bruno Michel
      Lead Developer R&D at af83

      As Lead Developer R&D at af83, a significant part of Bruno's work
      is to test, create and contribute to cutting edge Web technologies,
      which allows him to anticipate the most promising open source
      projects. He is also the maintainer of numerous Web-centric
      projects based on Ruby.

      Active Member of the French Ruby Association, Bruno is also one
      of the webmasters of LinuxFr.org.

      http://github.com/nono
      http://twitter.com/brmichel
      http://blog.menfin.info/




Copyright © 2010 af83 All Rights Reserved                                   2
Agenda




                               Origin       Present   Future




Copyright © 2010 af83 All Rights Reserved                      3
The Origin




                               Origin       Present   Future




Copyright © 2010 af83 All Rights Reserved                      4
The Origin

   Origin    Present     Future             Yukihiro Matsumoto (aka Matz)
                                            First version in 1995
                                            Inspired by LISP, Perl, Smalltalk, Eiffel...
                                            Object-oriented
                                            Dynamic typing




Copyright © 2010 af83 All Rights Reserved                                                  5
Specificities

   Origin    Present     Future             Emphasizes human, rather than computer, needs
                                            Principle Of Least Astonishment (POLA)
                                            Programmer productivity & fun




Copyright © 2010 af83 All Rights Reserved                                               6
Script / Imperative

   Origin    Present     Future




Copyright © 2010 af83 All Rights Reserved        7
Object

   Origin    Present     Future




Copyright © 2010 af83 All Rights Reserved   8
Functional

   Origin    Present     Future




Copyright © 2010 af83 All Rights Reserved   9
Present




                               Origin       Present   Future




Copyright © 2010 af83 All Rights Reserved                      10
New Version

   Origin    Present     Future
                                            Ruby 1.8
                                            Currently 1.8.7
                                            Stable, works fine
                                            But slow




Copyright © 2010 af83 All Rights Reserved                        11
YARV

   Origin    Present     Future
                                            Yet Another Ruby VM
                                            A new implementation of Ruby
                                            by Koichi Sasada (aka ko1n)
                                            2005 and 2006 : unofficial project
                                            1st January 2007 : the new official Ruby 1.9




Copyright © 2010 af83 All Rights Reserved                                                  12
Versions

   Origin    Present     Future             25th December 2007 : 1.9.0
                                            A milestone
                                            Not ready for main usage


                                            30th January 2009 : 1.9.1
                                            Claimed as stable
                                            But a lot of bugs (segfaults)
                                            Many libs not ported to Ruby 1.9


                                            Last week : 1.9.2-rc
                                            In one month : 1.9.2
                                            Should be the good one

Copyright © 2010 af83 All Rights Reserved                                      13
What's New

   Origin    Present     Future             Performance
                                            Ruby 1.9 is 3x to 5x faster than Ruby 1.8
                                            It depends of the benchmarks




Copyright © 2010 af83 All Rights Reserved                                               14
What's New

   Origin    Present     Future             Encoding




Copyright © 2010 af83 All Rights Reserved              15
What's New

   Origin    Present     Future             Fibers




Copyright © 2010 af83 All Rights Reserved            16
What's New

   Origin    Present     Future             Hash Improved


                                            Hash are now ordered




                                            New syntax for hash




Copyright © 2010 af83 All Rights Reserved                          17
What's New

   Origin    Present     Future             Integration of some popular libs:
                                             ●   Rubygems
                                             ●   JSON


                                            Many new methods on the basic classes




Copyright © 2010 af83 All Rights Reserved                                           18
Present




                               Origin       Present   Future




Copyright © 2010 af83 All Rights Reserved                      19
Other Rubies

   Origin    Present     Future             ●   Rubinius
                                            ●   Ruby
                                            ●   IronRuby
                                            ●   MacRuby
                                            ●   etc.




Copyright © 2010 af83 All Rights Reserved                  20
RVM

   Origin    Present     Future
                                            Ruby Version Manager
                                            ●   A shell script, minimal dependencies
                                            ●   Multiple rubies in the same environment
                                            ●   Takes care of the gems
                                            ●   rvm install 1.9.2
                                            ●   rvm use 1.9.2




Copyright © 2010 af83 All Rights Reserved                                                 21
And after?

   Origin    Present     Future
                                            Ruby 2.0
                                            ●   Performance
                                            ●   Multiple VM
                                            ●   Nice features
                                            ●   Selector namespaces
                                            ●   Traits
                                            ●   More functional
                                            ●   Lazy evaluation




Copyright © 2010 af83 All Rights Reserved                             22
Even after?

   Origin    Present     Future             ●   And after?
                                            ●   Ruby 2.0
                                            ●   But it's a myth!




Copyright © 2010 af83 All Rights Reserved                          23
Present

               Future: Ruby 1.9 (or maybe an alternative implementation)




                               Origin       Present      Future


                          Ruby 1.8.7         RVM        Ruby 1.9
                                                       (or maybe an
                                                         alternative
                                                      implementation)




Copyright © 2010 af83 All Rights Reserved                                  24
Questions?




Copyright © 2010 af83 All Rights Reserved                25
www.af83.com

                     af83 France
15 rue poissonnière, 75002 Paris
               +33 1 42 72 33 32
              contact@af83.com

                     af83 USA
            1436 A Howard St.
       CA 94103 San Francisco
                 United States

More Related Content

Recently uploaded

NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
RTL Design Methodologies_Object Automation Inc
RTL Design Methodologies_Object Automation IncRTL Design Methodologies_Object Automation Inc
RTL Design Methodologies_Object Automation IncObject Automation
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxYounusS2
 
BODYPACK DIGITAL TECHNOLOGY STACK - 2024
BODYPACK DIGITAL TECHNOLOGY STACK - 2024BODYPACK DIGITAL TECHNOLOGY STACK - 2024
BODYPACK DIGITAL TECHNOLOGY STACK - 2024Andri H.
 
Does AI(Artificial intelligence) need a Working Memory??
Does AI(Artificial intelligence) need a Working Memory??Does AI(Artificial intelligence) need a Working Memory??
Does AI(Artificial intelligence) need a Working Memory??N.K KooZN
 
Plant tissue culture pharmacongosy-1 Semester 4
Plant tissue culture pharmacongosy-1 Semester 4Plant tissue culture pharmacongosy-1 Semester 4
Plant tissue culture pharmacongosy-1 Semester 4Nandakishor Deshmukh
 
20200723_insight_release_plan
20200723_insight_release_plan20200723_insight_release_plan
20200723_insight_release_planJamie (Taka) Wang
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
GDG Cloud Southlake 31: Santosh Chennuri and Festus Yeboah: Empowering Develo...
GDG Cloud Southlake 31: Santosh Chennuri and Festus Yeboah: Empowering Develo...GDG Cloud Southlake 31: Santosh Chennuri and Festus Yeboah: Empowering Develo...
GDG Cloud Southlake 31: Santosh Chennuri and Festus Yeboah: Empowering Develo...James Anderson
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Elevate Your Business with TECUNIQUE's Tailored Solutions
Elevate Your Business with TECUNIQUE's Tailored SolutionsElevate Your Business with TECUNIQUE's Tailored Solutions
Elevate Your Business with TECUNIQUE's Tailored SolutionsJaydeep Chhasatia
 
AI Health Agents: Longevity as a Service in the Web3 GenAI Quantum Revolution
AI Health Agents: Longevity as a Service in the Web3 GenAI Quantum RevolutionAI Health Agents: Longevity as a Service in the Web3 GenAI Quantum Revolution
AI Health Agents: Longevity as a Service in the Web3 GenAI Quantum RevolutionMelanie Swan
 
ict grade 12 lesson 2 sinhala medium notes pdf
ict grade 12 lesson 2 sinhala medium notes pdfict grade 12 lesson 2 sinhala medium notes pdf
ict grade 12 lesson 2 sinhala medium notes pdfruhisiya9
 
Unleashing the power of AI in UiPath Studio with UiPath Autopilot.
Unleashing the power of AI in UiPath Studio with UiPath Autopilot.Unleashing the power of AI in UiPath Studio with UiPath Autopilot.
Unleashing the power of AI in UiPath Studio with UiPath Autopilot.DianaGray10
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Introducing Milvus and new features in 2.4 release
Introducing Milvus and new features in 2.4 releaseIntroducing Milvus and new features in 2.4 release
Introducing Milvus and new features in 2.4 releaseZilliz
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceMartin Humpolec
 
Dev Dives: Master advanced authentication and performance in Productivity Act...
Dev Dives: Master advanced authentication and performance in Productivity Act...Dev Dives: Master advanced authentication and performance in Productivity Act...
Dev Dives: Master advanced authentication and performance in Productivity Act...UiPathCommunity
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
LinkedIn optimization Gunjan Dhir .pptx
LinkedIn optimization Gunjan Dhir .pptxLinkedIn optimization Gunjan Dhir .pptx
LinkedIn optimization Gunjan Dhir .pptxGunjan Dhir
 

Recently uploaded (20)

NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
RTL Design Methodologies_Object Automation Inc
RTL Design Methodologies_Object Automation IncRTL Design Methodologies_Object Automation Inc
RTL Design Methodologies_Object Automation Inc
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
 
BODYPACK DIGITAL TECHNOLOGY STACK - 2024
BODYPACK DIGITAL TECHNOLOGY STACK - 2024BODYPACK DIGITAL TECHNOLOGY STACK - 2024
BODYPACK DIGITAL TECHNOLOGY STACK - 2024
 
Does AI(Artificial intelligence) need a Working Memory??
Does AI(Artificial intelligence) need a Working Memory??Does AI(Artificial intelligence) need a Working Memory??
Does AI(Artificial intelligence) need a Working Memory??
 
Plant tissue culture pharmacongosy-1 Semester 4
Plant tissue culture pharmacongosy-1 Semester 4Plant tissue culture pharmacongosy-1 Semester 4
Plant tissue culture pharmacongosy-1 Semester 4
 
20200723_insight_release_plan
20200723_insight_release_plan20200723_insight_release_plan
20200723_insight_release_plan
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
GDG Cloud Southlake 31: Santosh Chennuri and Festus Yeboah: Empowering Develo...
GDG Cloud Southlake 31: Santosh Chennuri and Festus Yeboah: Empowering Develo...GDG Cloud Southlake 31: Santosh Chennuri and Festus Yeboah: Empowering Develo...
GDG Cloud Southlake 31: Santosh Chennuri and Festus Yeboah: Empowering Develo...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Elevate Your Business with TECUNIQUE's Tailored Solutions
Elevate Your Business with TECUNIQUE's Tailored SolutionsElevate Your Business with TECUNIQUE's Tailored Solutions
Elevate Your Business with TECUNIQUE's Tailored Solutions
 
AI Health Agents: Longevity as a Service in the Web3 GenAI Quantum Revolution
AI Health Agents: Longevity as a Service in the Web3 GenAI Quantum RevolutionAI Health Agents: Longevity as a Service in the Web3 GenAI Quantum Revolution
AI Health Agents: Longevity as a Service in the Web3 GenAI Quantum Revolution
 
ict grade 12 lesson 2 sinhala medium notes pdf
ict grade 12 lesson 2 sinhala medium notes pdfict grade 12 lesson 2 sinhala medium notes pdf
ict grade 12 lesson 2 sinhala medium notes pdf
 
Unleashing the power of AI in UiPath Studio with UiPath Autopilot.
Unleashing the power of AI in UiPath Studio with UiPath Autopilot.Unleashing the power of AI in UiPath Studio with UiPath Autopilot.
Unleashing the power of AI in UiPath Studio with UiPath Autopilot.
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Introducing Milvus and new features in 2.4 release
Introducing Milvus and new features in 2.4 releaseIntroducing Milvus and new features in 2.4 release
Introducing Milvus and new features in 2.4 release
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your Salesforce
 
Dev Dives: Master advanced authentication and performance in Productivity Act...
Dev Dives: Master advanced authentication and performance in Productivity Act...Dev Dives: Master advanced authentication and performance in Productivity Act...
Dev Dives: Master advanced authentication and performance in Productivity Act...
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
LinkedIn optimization Gunjan Dhir .pptx
LinkedIn optimization Gunjan Dhir .pptxLinkedIn optimization Gunjan Dhir .pptx
LinkedIn optimization Gunjan Dhir .pptx
 

The Future of Ruby

  • 1. www.af83.com af83 France Ruby 1.9 The Future of Ruby? 15 rue poissonnière, 75002 Paris +33 1 42 72 33 32 contact@af83.com af83 USA 1436 A Howard St. Bruno Michel CA 94103 San Francisco United States RMLL, Bordeaux, 07/08/2010
  • 2. Introduction Bruno Michel Lead Developer R&D at af83 As Lead Developer R&D at af83, a significant part of Bruno's work is to test, create and contribute to cutting edge Web technologies, which allows him to anticipate the most promising open source projects. He is also the maintainer of numerous Web-centric projects based on Ruby. Active Member of the French Ruby Association, Bruno is also one of the webmasters of LinuxFr.org. http://github.com/nono http://twitter.com/brmichel http://blog.menfin.info/ Copyright © 2010 af83 All Rights Reserved 2
  • 3. Agenda Origin Present Future Copyright © 2010 af83 All Rights Reserved 3
  • 4. The Origin Origin Present Future Copyright © 2010 af83 All Rights Reserved 4
  • 5. The Origin Origin Present Future Yukihiro Matsumoto (aka Matz) First version in 1995 Inspired by LISP, Perl, Smalltalk, Eiffel... Object-oriented Dynamic typing Copyright © 2010 af83 All Rights Reserved 5
  • 6. Specificities Origin Present Future Emphasizes human, rather than computer, needs Principle Of Least Astonishment (POLA) Programmer productivity & fun Copyright © 2010 af83 All Rights Reserved 6
  • 7. Script / Imperative Origin Present Future Copyright © 2010 af83 All Rights Reserved 7
  • 8. Object Origin Present Future Copyright © 2010 af83 All Rights Reserved 8
  • 9. Functional Origin Present Future Copyright © 2010 af83 All Rights Reserved 9
  • 10. Present Origin Present Future Copyright © 2010 af83 All Rights Reserved 10
  • 11. New Version Origin Present Future Ruby 1.8 Currently 1.8.7 Stable, works fine But slow Copyright © 2010 af83 All Rights Reserved 11
  • 12. YARV Origin Present Future Yet Another Ruby VM A new implementation of Ruby by Koichi Sasada (aka ko1n) 2005 and 2006 : unofficial project 1st January 2007 : the new official Ruby 1.9 Copyright © 2010 af83 All Rights Reserved 12
  • 13. Versions Origin Present Future 25th December 2007 : 1.9.0 A milestone Not ready for main usage 30th January 2009 : 1.9.1 Claimed as stable But a lot of bugs (segfaults) Many libs not ported to Ruby 1.9 Last week : 1.9.2-rc In one month : 1.9.2 Should be the good one Copyright © 2010 af83 All Rights Reserved 13
  • 14. What's New Origin Present Future Performance Ruby 1.9 is 3x to 5x faster than Ruby 1.8 It depends of the benchmarks Copyright © 2010 af83 All Rights Reserved 14
  • 15. What's New Origin Present Future Encoding Copyright © 2010 af83 All Rights Reserved 15
  • 16. What's New Origin Present Future Fibers Copyright © 2010 af83 All Rights Reserved 16
  • 17. What's New Origin Present Future Hash Improved Hash are now ordered New syntax for hash Copyright © 2010 af83 All Rights Reserved 17
  • 18. What's New Origin Present Future Integration of some popular libs: ● Rubygems ● JSON Many new methods on the basic classes Copyright © 2010 af83 All Rights Reserved 18
  • 19. Present Origin Present Future Copyright © 2010 af83 All Rights Reserved 19
  • 20. Other Rubies Origin Present Future ● Rubinius ● Ruby ● IronRuby ● MacRuby ● etc. Copyright © 2010 af83 All Rights Reserved 20
  • 21. RVM Origin Present Future Ruby Version Manager ● A shell script, minimal dependencies ● Multiple rubies in the same environment ● Takes care of the gems ● rvm install 1.9.2 ● rvm use 1.9.2 Copyright © 2010 af83 All Rights Reserved 21
  • 22. And after? Origin Present Future Ruby 2.0 ● Performance ● Multiple VM ● Nice features ● Selector namespaces ● Traits ● More functional ● Lazy evaluation Copyright © 2010 af83 All Rights Reserved 22
  • 23. Even after? Origin Present Future ● And after? ● Ruby 2.0 ● But it's a myth! Copyright © 2010 af83 All Rights Reserved 23
  • 24. Present Future: Ruby 1.9 (or maybe an alternative implementation) Origin Present Future Ruby 1.8.7 RVM Ruby 1.9 (or maybe an alternative implementation) Copyright © 2010 af83 All Rights Reserved 24
  • 25. Questions? Copyright © 2010 af83 All Rights Reserved 25
  • 26. www.af83.com af83 France 15 rue poissonnière, 75002 Paris +33 1 42 72 33 32 contact@af83.com af83 USA 1436 A Howard St. CA 94103 San Francisco United States