The Future of Ruby

Post on 27-May-2015

568 views 1 download

Tags:

Transcript of The Future of Ruby

www.af83.com

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

af83 USA1436 A Howard St. CA 94103 San FranciscoUnited States

Ruby 1.9The Future of Ruby?

Bruno MichelRMLL, Bordeaux, 07/08/2010

2Copyright © 2010 af83 All Rights Reserved

Introduction

Bruno MichelLead 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/nonohttp://twitter.com/brmichelhttp://blog.menfin.info/

3Copyright © 2010 af83 All Rights Reserved

FuturePresentOrigin

Agenda

4Copyright © 2010 af83 All Rights Reserved

The Origin

FuturePresentOrigin

5Copyright © 2010 af83 All Rights Reserved

Yukihiro Matsumoto (aka Matz)

First version in 1995

Inspired by LISP, Perl, Smalltalk, Eiffel...

Object-oriented

Dynamic typing

FuturePresentOrigin

The Origin

6Copyright © 2010 af83 All Rights Reserved

Emphasizes human, rather than computer, needs

Principle Of Least Astonishment (POLA)

Programmer productivity & fun

Specificities

FuturePresentOrigin

7Copyright © 2010 af83 All Rights Reserved

Script / Imperative

FuturePresentOrigin

8Copyright © 2010 af83 All Rights Reserved

Object

FuturePresentOrigin

9Copyright © 2010 af83 All Rights Reserved

Functional

FuturePresentOrigin

10Copyright © 2010 af83 All Rights Reserved

Present

FuturePresentOrigin

11Copyright © 2010 af83 All Rights Reserved

New Version

Ruby 1.8Currently 1.8.7

Stable, works fine

But slow

FuturePresentOrigin

12Copyright © 2010 af83 All Rights Reserved

YARV

Yet Another Ruby VMA new implementation of Ruby

by Koichi Sasada (aka ko1n)

2005 and 2006 : unofficial project

1st January 2007 : the new official Ruby 1.9

FuturePresentOrigin

13Copyright © 2010 af83 All Rights Reserved

Versions

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

FuturePresentOrigin

14Copyright © 2010 af83 All Rights Reserved

What's New

Performance

Ruby 1.9 is 3x to 5x faster than Ruby 1.8

It depends of the benchmarks

FuturePresentOrigin

15Copyright © 2010 af83 All Rights Reserved

What's New

EncodingFuturePresentOrigin

16Copyright © 2010 af83 All Rights Reserved

What's New

FibersFuturePresentOrigin

17Copyright © 2010 af83 All Rights Reserved

What's New

Hash Improved

Hash are now ordered

New syntax for hash

FuturePresentOrigin

18Copyright © 2010 af83 All Rights Reserved

What's New

Integration of some popular libs:

● Rubygems

● JSON

Many new methods on the basic classes

FuturePresentOrigin

19Copyright © 2010 af83 All Rights Reserved

Present

FuturePresentOrigin

20Copyright © 2010 af83 All Rights Reserved

Other Rubies

● Rubinius

● Ruby

● IronRuby

● MacRuby

● etc.

FuturePresentOrigin

21Copyright © 2010 af83 All Rights Reserved

RVM

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

FuturePresentOrigin

22Copyright © 2010 af83 All Rights Reserved

And after?

● Performance

● Multiple VM

● Nice features

● Selector namespaces

● Traits

● More functional

● Lazy evaluation

FuturePresentOrigin Ruby 2.0

23Copyright © 2010 af83 All Rights Reserved

Even after?

● And after?

● Ruby 2.0

● But it's a myth!

FuturePresentOrigin

24Copyright © 2010 af83 All Rights Reserved

Present

FuturePresentOrigin

Ruby 1.8.7 RVM

Future: Ruby 1.9 (or maybe an alternative implementation)

Ruby 1.9

(or maybe an alternative

implementation)

25Copyright © 2010 af83 All Rights Reserved

Questions?

www.af83.com

af83 France15 rue poissonnière, 75002 Paris

+33 1 42 72 33 32contact@af83.com

af83 USA1436 A Howard St.

CA 94103 San FranciscoUnited States