Powered by Rabbit 1.0.8
Reinventhing Wheels of
Future
Yukihiro "Matz" Matsumoto
@yukihiro_matz
Slide 2
Slide 2 text
Powered by Rabbit 1.0.8
I code, therefore I am.
1/144
Slide 3
Slide 3 text
Powered by Rabbit 1.0.8
I feel happy, when I code.
2/144
Slide 4
Slide 4 text
Powered by Rabbit 1.0.8
I feel nervous, when I stand here.
3/144
Slide 5
Slide 5 text
Powered by Rabbit 1.0.8
Do you?
4/144
Slide 6
Slide 6 text
Powered by Rabbit 1.0.8
5/144
Slide 7
Slide 7 text
Powered by Rabbit 1.0.8
Ruby started February 1993
6/144
Slide 8
Slide 8 text
Powered by Rabbit 1.0.8
as a scripting language for UNIX
7/144
Slide 9
Slide 9 text
Powered by Rabbit 1.0.8
to replace Perl
8/144
Slide 10
Slide 10 text
Powered by Rabbit 1.0.8
But not really
9/144
Slide 11
Slide 11 text
Powered by Rabbit 1.0.8
I just wanted to create my own
language
10/144
Slide 12
Slide 12 text
Powered by Rabbit 1.0.8
Just for Fun
11/144
Slide 13
Slide 13 text
Powered by Rabbit 1.0.8
Recently, a guy came and
blamed me on Twitter
12/144
Slide 14
Slide 14 text
Powered by Rabbit 1.0.8
“Why did you invented Ruby,
where we had Perl?”
13/144
Slide 15
Slide 15 text
Powered by Rabbit 1.0.8
“It was redundant, reinvention of
the wheel”
14/144
Slide 16
Slide 16 text
Powered by Rabbit 1.0.8
“It was waste of man-power that
is limited resource”
15/144
Slide 17
Slide 17 text
Powered by Rabbit 1.0.8
“So, many IT people feel
negative about your work”
16/144
Slide 18
Slide 18 text
Powered by Rabbit 1.0.8
What do you think?
17/144
Slide 19
Slide 19 text
Powered by Rabbit 1.0.8
Give me a break
18/144
Slide 20
Slide 20 text
Powered by Rabbit 1.0.8
Indeed we have limited resources
19/144
Slide 21
Slide 21 text
Powered by Rabbit 1.0.8
Only 7 Billion people on Earth
20/144
Slide 22
Slide 22 text
Powered by Rabbit 1.0.8
Very few among them code
21/144
Slide 23
Slide 23 text
Powered by Rabbit 1.0.8
But it's not a bottleneck
22/144
Slide 24
Slide 24 text
Powered by Rabbit 1.0.8
We have more rare resource
23/144
Slide 25
Slide 25 text
Powered by Rabbit 1.0.8
It's Motivation
24/144
Slide 26
Slide 26 text
Powered by Rabbit 1.0.8
We are not machines
25/144
Slide 27
Slide 27 text
Powered by Rabbit 1.0.8
We need driving force to
accomplish great things
26/144
Slide 28
Slide 28 text
Powered by Rabbit 1.0.8
What's your motivation?
27/144
Slide 29
Slide 29 text
Powered by Rabbit 1.0.8
Fun?
28/144
Slide 30
Slide 30 text
Powered by Rabbit 1.0.8
Profit?
29/144
Slide 31
Slide 31 text
Powered by Rabbit 1.0.8
My motivation is love toward
programming languages
30/144
Slide 32
Slide 32 text
Powered by Rabbit 1.0.8
I love all programming languages
on earth
31/144
Slide 33
Slide 33 text
Powered by Rabbit 1.0.8
Including Fortran
32/144
Slide 34
Slide 34 text
Powered by Rabbit 1.0.8
Perl
33/144
Slide 35
Slide 35 text
Powered by Rabbit 1.0.8
Even PHP
34/144
Slide 36
Slide 36 text
Powered by Rabbit 1.0.8
It might sound spooky
35/144
Slide 37
Slide 37 text
Powered by Rabbit 1.0.8
No one should laugh at
motivation
36/144
Slide 38
Slide 38 text
Powered by Rabbit 1.0.8
Some may call it reinventing the
wheel
37/144
Slide 39
Slide 39 text
Powered by Rabbit 1.0.8
Go ahead, if you are motivated
38/144
Slide 40
Slide 40 text
Powered by Rabbit 1.0.8
And it will introduce diversity
39/144
Slide 41
Slide 41 text
Powered by Rabbit 1.0.8
Diversity is Good
40/144
Slide 42
Slide 42 text
Powered by Rabbit 1.0.8
It may require cost
41/144
Slide 43
Slide 43 text
Powered by Rabbit 1.0.8
It might waste your time
42/144
Slide 44
Slide 44 text
Powered by Rabbit 1.0.8
But the world without diversity is
unpleasant
43/144
Slide 45
Slide 45 text
Powered by Rabbit 1.0.8
What if we force people to focus
on Perl?
44/144
Slide 46
Slide 46 text
Powered by Rabbit 1.0.8
Like the world of 1984
45/144
Slide 47
Slide 47 text
Powered by Rabbit 1.0.8
Diversity is the cost for
innovation
46/144
Slide 48
Slide 48 text
Powered by Rabbit 1.0.8
No one understands Innovation
47/144
Slide 49
Slide 49 text
Powered by Rabbit 1.0.8
Succeeded people don't
48/144
Slide 50
Slide 50 text
Powered by Rabbit 1.0.8
Failed people don't
49/144
Slide 51
Slide 51 text
Powered by Rabbit 1.0.8
No one
50/144
Slide 52
Slide 52 text
Powered by Rabbit 1.0.8
We try
51/144
Slide 53
Slide 53 text
Powered by Rabbit 1.0.8
Again
52/144
Slide 54
Slide 54 text
Powered by Rabbit 1.0.8
and Again
53/144
Slide 55
Slide 55 text
Powered by Rabbit 1.0.8
until we make innovation
54/144
Slide 56
Slide 56 text
Powered by Rabbit 1.0.8
But we`d better predict the
future
55/144
Slide 57
Slide 57 text
Powered by Rabbit 1.0.8
To raise the possibility of success
56/144
Slide 58
Slide 58 text
Powered by Rabbit 1.0.8
57/144
Slide 59
Slide 59 text
Powered by Rabbit 1.0.8
IT survivers will be
58/144
Slide 60
Slide 60 text
Powered by Rabbit 1.0.8
IT survivers will be:
language designers
dev env implementors
and high valued niche players
59/144
Slide 61
Slide 61 text
Powered by Rabbit 1.0.8
Language designers?
60/144
Slide 62
Slide 62 text
Powered by Rabbit 1.0.8
Sounds weird?
61/144
Slide 63
Slide 63 text
Powered by Rabbit 1.0.8
His outline:
Programming will be
fundamental literacy
Easy tasks can be done by
everybody
Professionals (like us) should
do harder tasks
62/144
Slide 64
Slide 64 text
Powered by Rabbit 1.0.8
Fair enough
63/144
Slide 65
Slide 65 text
Powered by Rabbit 1.0.8
But how can we be language
designers?
64/144
Slide 66
Slide 66 text
Powered by Rabbit 1.0.8
How many language designers
do you know?
65/144
Slide 67
Slide 67 text
Powered by Rabbit 1.0.8
me
66/144
Slide 68
Slide 68 text
Powered by Rabbit 1.0.8
Guido
67/144
Slide 69
Slide 69 text
Powered by Rabbit 1.0.8
Larry
68/144
Slide 70
Slide 70 text
Powered by Rabbit 1.0.8
Rasmus
69/144
Slide 71
Slide 71 text
Powered by Rabbit 1.0.8
?
70/144
Slide 72
Slide 72 text
Powered by Rabbit 1.0.8
Language Designer
or Serial Killer?
71/144
Slide 73
Slide 73 text
Powered by Rabbit 1.0.8
You may not start making
popular programming language
72/144
Slide 74
Slide 74 text
Powered by Rabbit 1.0.8
You may not implement a
programming language
73/144
Slide 75
Slide 75 text
Powered by Rabbit 1.0.8
But you code
74/144
Slide 76
Slide 76 text
Powered by Rabbit 1.0.8
Your identity
75/144
Slide 77
Slide 77 text
Powered by Rabbit 1.0.8
You design
76/144
Slide 78
Slide 78 text
Powered by Rabbit 1.0.8
You design code
77/144
Slide 79
Slide 79 text
Powered by Rabbit 1.0.8
You design API
78/144
Slide 80
Slide 80 text
Powered by Rabbit 1.0.8
You design interface
79/144
Slide 81
Slide 81 text
Powered by Rabbit 1.0.8
They are languages
80/144
Slide 82
Slide 82 text
Powered by Rabbit 1.0.8
Dave Thomas
81/144
Slide 83
Slide 83 text
Powered by Rabbit 1.0.8
Programming is a process of
designing your own DSL
82/144
Slide 84
Slide 84 text
Powered by Rabbit 1.0.8
In that sense, you can be
language designers
83/144
Slide 85
Slide 85 text
Powered by Rabbit 1.0.8
Too few people care about
design
84/144
Slide 86
Slide 86 text
Powered by Rabbit 1.0.8
The world is full of crappy
designs
85/144
Slide 87
Slide 87 text
Powered by Rabbit 1.0.8
Shoe strings
86/144
Slide 88
Slide 88 text
Powered by Rabbit 1.0.8
I hate loosen strings
87/144
Slide 89
Slide 89 text
Powered by Rabbit 1.0.8
I hate tying them again & again
88/144
Slide 90
Slide 90 text
Powered by Rabbit 1.0.8
So I used superglue
89/144
Slide 91
Slide 91 text
Powered by Rabbit 1.0.8
The world is full of room for
improvement
90/144
Slide 92
Slide 92 text
Powered by Rabbit 1.0.8
Go fix them
91/144
Slide 93
Slide 93 text
Powered by Rabbit 1.0.8
By starting new project
92/144
Slide 94
Slide 94 text
Powered by Rabbit 1.0.8
By participating to exising project
93/144
Slide 95
Slide 95 text
Powered by Rabbit 1.0.8
Code, make it happen
94/144
Slide 96
Slide 96 text
Powered by Rabbit 1.0.8
in good shape
95/144
Slide 97
Slide 97 text
Powered by Rabbit 1.0.8
Reinvent wheels
96/144
Slide 98
Slide 98 text
Powered by Rabbit 1.0.8
Better wheels
97/144
Slide 99
Slide 99 text
Powered by Rabbit 1.0.8
Make the World better place
98/144
Slide 100
Slide 100 text
Powered by Rabbit 1.0.8
Be happy
99/144
Slide 101
Slide 101 text
Powered by Rabbit 1.0.8
I will
100/144
Slide 102
Slide 102 text
Powered by Rabbit 1.0.8
It was dark stormy night
101/144
Slide 103
Slide 103 text
Powered by Rabbit 1.0.8
in 1993
102/144
Slide 104
Slide 104 text
Powered by Rabbit 1.0.8
Almost 20 years ago
103/144
Slide 105
Slide 105 text
Powered by Rabbit 1.0.8
I had been happy for last 20
years
104/144
Slide 106
Slide 106 text
Powered by Rabbit 1.0.8
It always had been more than
expected
105/144
Slide 107
Slide 107 text
Powered by Rabbit 1.0.8
I will try to make the world better
place
106/144
Slide 108
Slide 108 text
Powered by Rabbit 1.0.8
by making Ruby even better
107/144
Slide 109
Slide 109 text
Powered by Rabbit 1.0.8
On Faburary 24th 2013
108/144
Slide 110
Slide 110 text
Powered by Rabbit 1.0.8
Ruby's 20th birthday
109/144
Slide 111
Slide 111 text
Powered by Rabbit 1.0.8
We will release Ruby 2.0
110/144