ruby past, present, future

20

Click here to load reader

Upload: adamfine

Post on 09-Jul-2015

1.746 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Ruby   Past, Present, Future

1

Ruby – Past, Present, Future

Adam Fine

Page 2: Ruby   Past, Present, Future

2

Birth

February 24, 1993 1st release December 1995 Yukihiro Matsumoto (''Matz'')

Page 3: Ruby   Past, Present, Future

3

Influences

Lisp Smalltalk Perl

Page 4: Ruby   Past, Present, Future

4

Lisp – everything is an expression Smalltalk – everything is an object Perl – everything should be possible

Fundamentals

Page 5: Ruby   Past, Present, Future

5

Characteristics

Dynamic Reflective High level Multi-paradigm Feature-full (closures, continuations) Portable

Page 6: Ruby   Past, Present, Future

6

Implementation

Single pass C interpreter Written by a small group of volunteers Led by Yukihiro Matsumoto

Page 7: Ruby   Past, Present, Future

7

Progression

Gain popularity throughout Japan 1999: Ruby overtakes Python's mindshare in Japan Thriving Japanese community But no English docs Very few users outside Japan

Page 8: Ruby   Past, Present, Future

8

2000

Ruby starts spreading outside Japan Pragmatic Programmers: Dave Thomas and Andy

Hunt 2001: ''Programming Ruby'' (the PickAxe) - first

major documentation in English Documents Ruby 1.6

Page 9: Ruby   Past, Present, Future

9

Just Yesterday

Mainly used for high-level scripting and web Many interesting Web ideas and approaches: Borges, Wee, Iowa, Cerise, cgikit, mod_ruby

Page 10: Ruby   Past, Present, Future

10

Ruby 1.8

Released August 4th 2003 Language cleanup, less Perlish Implementation improvements

Page 11: Ruby   Past, Present, Future

11

Rails

Released July 2004 David Heinemeier Hansson chose Ruby Very small codebase A lot of functionality Attracts major attention

Page 12: Ruby   Past, Present, Future

12

Today

Page 13: Ruby   Past, Present, Future

13

1.8, 1.9, 2.0

1.8: Production branch 1.9: Development, experimental branch 2.0: What 1.9 will mature into YARV

Page 14: Ruby   Past, Present, Future

14

YARV

Lead Developer Koichi Sasada December 31, 2006: merged into the Ruby

repository Bytecode-compiled

Page 15: Ruby   Past, Present, Future

15

Rubinius

Modelled after the Smalltalk-80 virtual machine Transparent Highly reflective Self-hosting, self-extensible Optimizable

Page 16: Ruby   Past, Present, Future

16

JRuby

Platform: the JVM A working interpreter, compiler in the works Better performance than MRI (CRuby) Integrates with Java Benefits from the Java codebase

Page 17: Ruby   Past, Present, Future

17

The DLR and IronRuby

Platform: the CLR Optimized compilation, significant performance

gains But currently vaporware Doubts about extent of dynamic feature support

Page 18: Ruby   Past, Present, Future

18

XRuby

Platform: the JVM Compiles to JVM bytecode Performance currently better than the JRuby

interpreter Integration with the Java codebase Rails by the end of the year?

Page 19: Ruby   Past, Present, Future

19

The Future

The Rails benchmark Ruby 2.0: re-design vs. backward compatibility New implementations, new ideas, new applications

Page 20: Ruby   Past, Present, Future

20

Thank you for listening