Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ruby Past, Present, Future

2,586 views

Published on

Highlights from a presentation by Adam Fine about Ruby's past, present and future.

Published in: Technology, Education
  • Be the first to comment

Ruby Past, Present, Future

  1. Ruby – Past, Present, Future Adam Fine
  2. Birth <ul><li>February 24, 1993‏ </li></ul><ul><li>1 st release December 1995‏ </li></ul><ul><li>Yukihiro Matsumoto (''Matz'') ‏ </li></ul>
  3. Influences <ul><li>Lisp </li></ul><ul><li>Smalltalk </li></ul><ul><li>Perl </li></ul>
  4. <ul><li>Lisp – everything is an expression </li></ul><ul><li>Smalltalk – everything is an object </li></ul><ul><li>Perl – everything should be possible </li></ul>Fundamentals
  5. Characteristics <ul><li>Dynamic </li></ul><ul><li>Reflective </li></ul><ul><li>High level </li></ul><ul><li>Multi-paradigm </li></ul><ul><li>Feature-full (closures, continuations) ‏ </li></ul><ul><li>Portable </li></ul>
  6. Implementation <ul><li>Single pass C interpreter </li></ul><ul><li>Written by a small group of volunteers </li></ul><ul><li>Led by Yukihiro Matsumoto </li></ul>
  7. Progression <ul><li>Gain popularity throughout Japan </li></ul><ul><li>1999: Ruby overtakes Python's mindshare in Japan </li></ul><ul><li>Thriving Japanese community </li></ul><ul><li>But no English docs </li></ul><ul><li>Very few users outside Japan </li></ul>
  8. 2000‏ <ul><li>Ruby starts spreading outside Japan </li></ul><ul><li>Pragmatic Programmers: Dave Thomas and Andy Hunt </li></ul><ul><li>2001: ''Programming Ruby'' (the PickAxe) - first major documentation in English </li></ul><ul><li>Documents Ruby 1.6‏ </li></ul>
  9. Just Yesterday <ul><li>Mainly used for high-level scripting and web </li></ul><ul><li>Many interesting Web ideas and approaches:‏ </li></ul><ul><li>Borges, Wee, Iowa, Cerise, cgikit, mod_ruby </li></ul>
  10. Ruby 1.8‏ <ul><li>Released August 4 th 2003‏ </li></ul><ul><li>Language cleanup, less Perlish </li></ul><ul><li>Implementation improvements </li></ul>
  11. Rails <ul><li>Released July 2004‏ </li></ul><ul><li>David Heinemeier Hansson chose Ruby </li></ul><ul><li>Very small codebase </li></ul><ul><li>A lot of functionality </li></ul><ul><li>Attracts major attention </li></ul>
  12. Today
  13. 1.8, 1.9, 2.0‏ <ul><li>1.8: Production branch </li></ul><ul><li>1.9: Development, experimental branch </li></ul><ul><li>2.0: What 1.9 will mature into </li></ul><ul><li>YARV </li></ul>
  14. YARV <ul><li>Lead Developer Koichi Sasada </li></ul><ul><li>December 31, 2006: merged into the Ruby repository </li></ul><ul><li>Bytecode-compiled </li></ul>
  15. Rubinius <ul><li>Modelled after the Smalltalk-80 virtual machine </li></ul><ul><li>Transparent </li></ul><ul><li>Highly reflective </li></ul><ul><li>Self-hosting, self-extensible </li></ul><ul><li>Optimizable </li></ul>
  16. JRuby <ul><li>Platform: the JVM </li></ul><ul><li>A working interpreter, compiler in the works </li></ul><ul><li>Better performance than MRI (CRuby) ‏ </li></ul><ul><li>Integrates with Java </li></ul><ul><li>Benefits from the Java codebase </li></ul>
  17. The DLR and IronRuby <ul><li>Platform: the CLR </li></ul><ul><li>Optimized compilation, significant performance gains </li></ul><ul><li>But currently vaporware </li></ul><ul><li>Doubts about extent of dynamic feature support </li></ul>
  18. XRuby <ul><li>Platform: the JVM </li></ul><ul><li>Compiles to JVM bytecode </li></ul><ul><li>Performance currently better than the JRuby interpreter </li></ul><ul><li>Integration with the Java codebase </li></ul><ul><li>Rails by the end of the year?‏ </li></ul>
  19. The Future <ul><li>The Rails benchmark </li></ul><ul><li>Ruby 2.0: re-design vs. backward compatibility </li></ul><ul><li>New implementations, new ideas, new applications </li></ul>
  20. Thank you for listening

×