Upload
af83
View
568
Download
1
Tags:
Embed Size (px)
Citation preview
www.af83.com
af83 France15 rue poissonnière, 75002 Paris+33 1 42 72 33 [email protected]
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 [email protected]
af83 USA1436 A Howard St.
CA 94103 San FranciscoUnited States