Post on 15-Jan-2015
description
Powered by Rabbit 0.9.2
Ruby Everywhere
まつもと ゆきひろYukihiro "Matz" Matsumoto
@yukihiro_matz
Powered by Rabbit 0.9.2
TPO 1/192
Powered by Rabbit 0.9.2
TPO
O=Occasion
2/192
Powered by Rabbit 0.9.2
Occasion
Keynote
3/192
Powered by Rabbit 0.9.2
Keynote
a speech, as at a political convention, that presents important issues, principles, policies, etc.
4/192
Powered by Rabbit 0.9.2
Keynote
Give me a break
5/192
Powered by Rabbit 0.9.2
Keynote
I am a mere programmer
6/192
Powered by Rabbit 0.9.2
a programmer
who inventeda language
7/192
Powered by Rabbit 0.9.2
a great language
8/192
Powered by Rabbit 0.9.2
accidentally
9/192
Powered by Rabbit 0.9.2
But that's lifeCe'st la vie
10/192
Powered by Rabbit 0.9.2
Let's start the keynote
11/192
Powered by Rabbit 0.9.2
Keynote
Good and Bad
12/192
Powered by Rabbit 0.9.2
Keynote: the good part
The first at the conference
I can enjoy rest of the conference
13/192
Powered by Rabbit 0.9.2
Keynote: the bad part
The first at the conference
I have less time to prepare
You have to endure
14/192
Powered by Rabbit 0.9.2
TPO
P=Place
15/192
Powered by Rabbit 0.9.2
Place
New Orleans
16/192
Powered by Rabbit 0.9.2
Place
松江Matsue
17/192
Powered by Rabbit 0.9.2
Matsue
My hometown
18/192
Powered by Rabbit 0.9.2
Place
Sister Cities
19/192
Powered by Rabbit 0.9.2
Any locals?
20/192
Powered by Rabbit 0.9.2
Place
Mayor Matsuura of Matsue City
21/192
Powered by Rabbit 0.9.2
Hi from him
22/192
Powered by Rabbit 0.9.2
TPO
T=Time
23/192
Powered by Rabbit 0.9.2
Time
2011
24/192
Powered by Rabbit 0.9.2
The first RubyConf was
Oct. 12-14 2001in Tampa, FL
25/192
Powered by Rabbit 0.9.2
So it's
11th RubyConf
26/192
Powered by Rabbit 0.9.2
First RubyConf in second decade
27/192
Powered by Rabbit 0.9.2
10th anniversary
28/192
Powered by Rabbit 0.9.2
Good chance to beat the world
29/192
Powered by Rabbit 0.9.2
30/192
Powered by Rabbit 0.9.2
2011
31/192
Powered by Rabbit 0.9.2
New position
32/192
Powered by Rabbit 0.9.2
Chief Architect, Ruby
33/192
Powered by Rabbit 0.9.2
2010
34/192
Powered by Rabbit 0.9.2
Salesforce.com acquires Heroku.com
35/192
Powered by Rabbit 0.9.2
Marc Benioff
“Ruby is the language of Cloud 2”
36/192
Powered by Rabbit 0.9.2
6 months later
37/192
Powered by Rabbit 0.9.2
TOYOTA Friend
38/192
Powered by Rabbit 0.9.2
39/192
Powered by Rabbit 0.9.2
Marc Benioff
“Ruby is great!”
40/192
Powered by Rabbit 0.9.2
Marc Benioff
“I want to help Ruby!”
41/192
Powered by Rabbit 0.9.2
Marc Benioff
“as the language of cloud age”
42/192
Powered by Rabbit 0.9.2
Marc Benioff
“I want to HIRE YOU!”
43/192
Powered by Rabbit 0.9.2
What!?
44/192
Powered by Rabbit 0.9.2
45/192
Powered by Rabbit 0.9.2
Chief Architect, Ruby
Least Business-ish Title
46/192
Powered by Rabbit 0.9.2
Chief Architect, Ruby
I will keep working on Ruby core development
47/192
Powered by Rabbit 0.9.2
Chief Architect, Ruby
As I have done for long time
48/192
Powered by Rabbit 0.9.2
Chief Architect, Ruby
They don't ask me anything new
49/192
Powered by Rabbit 0.9.2
Chief Architect, Ruby
except attnending Dreamforce
50/192
Powered by Rabbit 0.9.2
Chief Architect, Ruby
I have been worked full time for long time
51/192
Powered by Rabbit 0.9.2
52/192
Powered by Rabbit 0.9.2
Chief Architect, Ruby
My financial situation has been improved
53/192
Powered by Rabbit 0.9.2
Chief Architect, Ruby
Hiring me do not accelerate development much
54/192
Powered by Rabbit 0.9.2
We have to improve
SFDC+Heroku want to accelerate Ruby development
55/192
Powered by Rabbit 0.9.2
We have to improve
So we are going to form a team
56/192
Powered by Rabbit 0.9.2
We have to improve
of full-time core committer(s)
57/192
Powered by Rabbit 0.9.2
Full-time core committer
Nobuyoshi Nakada (Nobu)
58/192
Powered by Rabbit 0.9.2
Full-time core committer
aka "Patch Monster"
59/192
Powered by Rabbit 0.9.2
Full-time core committer
PatchMon
60/192
Powered by Rabbit 0.9.2
Full-time core committer
Nobuyoshi Nakada (Nobu)
61/192
Powered by Rabbit 0.9.2
Number One Committer
62/192
Powered by Rabbit 0.9.2
Number One Committer
63/192
Powered by Rabbit 0.9.2
You can expect more patches from Nobu
64/192
Powered by Rabbit 0.9.2
Full-time Committers
More to come (if budget allows)
65/192
Powered by Rabbit 0.9.2
Full-time Committers
I welcome more companies to hire core committers
66/192
Powered by Rabbit 0.9.2
Full-time Committers
I have already contacted EnginYard
67/192
Powered by Rabbit 0.9.2
68/192
Powered by Rabbit 0.9.2
2011
69/192
Powered by Rabbit 0.9.2
the Standard
We have been working on the standard for last three years
70/192
Powered by Rabbit 0.9.2
the Standard
JISJapan Industrial Standard
71/192
Powered by Rabbit 0.9.2
the Standard
JIS x3017
72/192
Powered by Rabbit 0.9.2
the Standard
ISO
73/192
Powered by Rabbit 0.9.2
the Standard
Vote: 20 vs 0
74/192
Powered by Rabbit 0.9.2
The Standard
The subset of Ruby
75/192
Powered by Rabbit 0.9.2
The Standard
1.8 and 1.9 compatible
76/192
Powered by Rabbit 0.9.2
The Standard
Platform independence
77/192
Powered by Rabbit 0.9.2
The Standard
No fork, no thread
78/192
Powered by Rabbit 0.9.2
The Standard
It's stll incomplete
79/192
Powered by Rabbit 0.9.2
The Standard
More versions to come
80/192
Powered by Rabbit 0.9.2
The Standard
Better coverage
81/192
Powered by Rabbit 0.9.2
The Standard
Will move to 1.9 (or 2.0)
82/192
Powered by Rabbit 0.9.2
The Standard
The reasons behind
83/192
Powered by Rabbit 0.9.2
The reasons behind
Business reliability
84/192
Powered by Rabbit 0.9.2
The reasons behind
Alternative implementations
85/192
Powered by Rabbit 0.9.2
86/192
Powered by Rabbit 0.9.2
2011
87/192
Powered by Rabbit 0.9.2
The world has been taken over by machines
88/192
Powered by Rabbit 0.9.2
89/192
Powered by Rabbit 0.9.2
90/192
Powered by Rabbit 0.9.2
91/192
Powered by Rabbit 0.9.2
92/192
Powered by Rabbit 0.9.2
93/192
Powered by Rabbit 0.9.2
94/192
Powered by Rabbit 0.9.2
95/192
Powered by Rabbit 0.9.2
96/192
Powered by Rabbit 0.9.2
97/192
Powered by Rabbit 0.9.2
98/192
Powered by Rabbit 0.9.2
All driven by computers
99/192
Powered by Rabbit 0.9.2
Computers need software
100/192
Powered by Rabbit 0.9.2
Software ratio in systems increasing
101/192
Powered by Rabbit 0.9.2
Software should be written by us
102/192
Powered by Rabbit 0.9.2
in programming languages
103/192
Powered by Rabbit 0.9.2
There are numerous programming languages
104/192
Powered by Rabbit 0.9.2
But what we love most is..
105/192
Powered by Rabbit 0.9.2
Ruby
106/192
Powered by Rabbit 0.9.2
But what is Ruby?
107/192
Powered by Rabbit 0.9.2
Muiti-fold definition
108/192
Powered by Rabbit 0.9.2
Ruby the syntax
109/192
Powered by Rabbit 0.9.2
Ruby the philosophy
110/192
Powered by Rabbit 0.9.2
Ruby the library
111/192
Powered by Rabbit 0.9.2
Ruby the gems
112/192
Powered by Rabbit 0.9.2
Ruby the community
113/192
Powered by Rabbit 0.9.2
We'd like to help more developers
114/192
Powered by Rabbit 0.9.2
JRuby
115/192
Powered by Rabbit 0.9.2
Ruby for JVM platform
116/192
Powered by Rabbit 0.9.2
Ruby to reach Java world
117/192
Powered by Rabbit 0.9.2
Ruboto
118/192
Powered by Rabbit 0.9.2
JRuby on Android
119/192
Powered by Rabbit 0.9.2
Rhodes
120/192
Powered by Rabbit 0.9.2
Ruby for mobile phones
121/192
Powered by Rabbit 0.9.2
CRuby
122/192
Powered by Rabbit 0.9.2
Ruby 1.9.3
123/192
Powered by Rabbit 0.9.2
Ruby 1.9.3RC1
124/192
Powered by Rabbit 0.9.2
Yugui
125/192
Powered by Rabbit 0.9.2
126/192
Powered by Rabbit 0.9.2
Keywords for the future
127/192
Powered by Rabbit 0.9.2
Cloud+Mobile
128/192
Powered by Rabbit 0.9.2
Cloud
129/192
Powered by Rabbit 0.9.2
130/192
Powered by Rabbit 0.9.2
131/192
Powered by Rabbit 0.9.2
132/192
Powered by Rabbit 0.9.2
Mobile
133/192
Powered by Rabbit 0.9.2
Small devices
134/192
Powered by Rabbit 0.9.2
Digital appliances
135/192
Powered by Rabbit 0.9.2
Mobile phones
136/192
Powered by Rabbit 0.9.2
Vehicle
137/192
Powered by Rabbit 0.9.2
Robots
138/192
Powered by Rabbit 0.9.2
I'd like to address these fields
139/192
Powered by Rabbit 0.9.2
As Lua does now
140/192
Powered by Rabbit 0.9.2
141/192
Powered by Rabbit 0.9.2
mruby
142/192
Powered by Rabbit 0.9.2
mruby
Matz'sembeddableminimal implementation ofRuby language
143/192
Powered by Rabbit 0.9.2
RiteVM as core
144/192
Powered by Rabbit 0.9.2
Minimal standard libraries
145/192
Powered by Rabbit 0.9.2
Embeddable C API
146/192
Powered by Rabbit 0.9.2
Incremental GC
147/192
Powered by Rabbit 0.9.2
Soft realtime
148/192
Powered by Rabbit 0.9.2
Parser to generate AST
149/192
Powered by Rabbit 0.9.2
Codegen to generate bytecode
150/192
Powered by Rabbit 0.9.2
RiteVM to run bytecode
151/192
Powered by Rabbit 0.9.2
32bit instructions
152/192
Powered by Rabbit 0.9.2
Instructions are serializable
153/192
Powered by Rabbit 0.9.2
to binary files
154/192
Powered by Rabbit 0.9.2
or C files
155/192
Powered by Rabbit 0.9.2
Entirely written in C99
156/192
Powered by Rabbit 0.9.2
for all imaginable platforms
157/192
Powered by Rabbit 0.9.2
Linux
158/192
Powered by Rabbit 0.9.2
Windows
159/192
Powered by Rabbit 0.9.2
MacOS
160/192
Powered by Rabbit 0.9.2
Android
161/192
Powered by Rabbit 0.9.2
iOS
162/192
Powered by Rabbit 0.9.2
VxWorks
163/192
Powered by Rabbit 0.9.2
ITRON
164/192
Powered by Rabbit 0.9.2
or even non OS platforms
165/192
Powered by Rabbit 0.9.2
As I explained last year
166/192
Powered by Rabbit 0.9.2
Difference?
167/192
Powered by Rabbit 0.9.2
Now it works!
168/192
Powered by Rabbit 0.9.2
Demo
169/192
Powered by Rabbit 0.9.2
Demo
Mandelbrot Set
170/192
Powered by Rabbit 0.9.2
171/192
Powered by Rabbit 0.9.2
mruby is young
172/192
Powered by Rabbit 0.9.2
it's small
173/192
Powered by Rabbit 0.9.2
it's weak
174/192
Powered by Rabbit 0.9.2
mruby has possibility
175/192
Powered by Rabbit 0.9.2
huge possibility
176/192
Powered by Rabbit 0.9.2
can you imagine?
177/192
Powered by Rabbit 0.9.2
Mobile device
178/192
Powered by Rabbit 0.9.2
Robots
179/192
Powered by Rabbit 0.9.2
Digital appliances
180/192
Powered by Rabbit 0.9.2
Games
181/192
Powered by Rabbit 0.9.2
Ruby instead of Lua
182/192
Powered by Rabbit 0.9.2
Server side
183/192
Powered by Rabbit 0.9.2
Ruby instead of Node.js
184/192
Powered by Rabbit 0.9.2
One big step to rule the world
185/192
Powered by Rabbit 0.9.2
No perfect languages
186/192
Powered by Rabbit 0.9.2
Even Ruby
187/192
Powered by Rabbit 0.9.2
We'd like to provide choices
188/192
Powered by Rabbit 0.9.2
Freedom to choose Ruby
189/192
Powered by Rabbit 0.9.2
And make the world happier
190/192
Powered by Rabbit 0.9.2
As we feel right now
191/192
Powered by Rabbit 0.9.2
Thank you
192/192