Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Reinventhing Wheels of Future
Search
Yukihiro Matsumoto
November 03, 2012
Programming
56
5.5k
Reinventhing Wheels of Future
RubyConf 2012 Keynote
Yukihiro Matsumoto
November 03, 2012
Tweet
Share
More Decks by Yukihiro Matsumoto
See All by Yukihiro Matsumoto
Ruby 2.0 (en)
yukihiro_matz
40
4.4k
Ruby 2.0
yukihiro_matz
24
4.7k
Other Decks in Programming
See All in Programming
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
140
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
440
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
1k
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
7.2k
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
120
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
270
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
360
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
870
RailsGirls IZUMO スポンサーLT
16bitidol
0
180
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
170
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
200
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
160
Featured
See All Featured
Building an army of robots
kneath
306
45k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Bash Introduction
62gerente
613
210k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
How to Ace a Technical Interview
jacobian
278
23k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Language of Interfaces
destraynor
158
25k
Transcript
Powered by Rabbit 1.0.8 Reinventhing Wheels of Future Yukihiro "Matz"
Matsumoto @yukihiro_matz
Powered by Rabbit 1.0.8 I code, therefore I am.
1/144
Powered by Rabbit 1.0.8 I feel happy, when I
code. 2/144
Powered by Rabbit 1.0.8 I feel nervous, when I
stand here. 3/144
Powered by Rabbit 1.0.8 Do you? 4/144
Powered by Rabbit 1.0.8 5/144
Powered by Rabbit 1.0.8 Ruby started February 1993 6/144
Powered by Rabbit 1.0.8 as a scripting language for
UNIX 7/144
Powered by Rabbit 1.0.8 to replace Perl 8/144
Powered by Rabbit 1.0.8 But not really 9/144
Powered by Rabbit 1.0.8 I just wanted to create
my own language 10/144
Powered by Rabbit 1.0.8 Just for Fun 11/144
Powered by Rabbit 1.0.8 Recently, a guy came and
blamed me on Twitter 12/144
Powered by Rabbit 1.0.8 “Why did you invented Ruby,
where we had Perl?” 13/144
Powered by Rabbit 1.0.8 “It was redundant, reinvention of
the wheel” 14/144
Powered by Rabbit 1.0.8 “It was waste of man-power
that is limited resource” 15/144
Powered by Rabbit 1.0.8 “So, many IT people feel
negative about your work” 16/144
Powered by Rabbit 1.0.8 What do you think? 17/144
Powered by Rabbit 1.0.8 Give me a break 18/144
Powered by Rabbit 1.0.8 Indeed we have limited resources
19/144
Powered by Rabbit 1.0.8 Only 7 Billion people on
Earth 20/144
Powered by Rabbit 1.0.8 Very few among them code
21/144
Powered by Rabbit 1.0.8 But it's not a bottleneck
22/144
Powered by Rabbit 1.0.8 We have more rare resource
23/144
Powered by Rabbit 1.0.8 It's Motivation 24/144
Powered by Rabbit 1.0.8 We are not machines 25/144
Powered by Rabbit 1.0.8 We need driving force to
accomplish great things 26/144
Powered by Rabbit 1.0.8 What's your motivation? 27/144
Powered by Rabbit 1.0.8 Fun? 28/144
Powered by Rabbit 1.0.8 Profit? 29/144
Powered by Rabbit 1.0.8 My motivation is love toward
programming languages 30/144
Powered by Rabbit 1.0.8 I love all programming languages
on earth 31/144
Powered by Rabbit 1.0.8 Including Fortran 32/144
Powered by Rabbit 1.0.8 Perl 33/144
Powered by Rabbit 1.0.8 Even PHP 34/144
Powered by Rabbit 1.0.8 It might sound spooky 35/144
Powered by Rabbit 1.0.8 No one should laugh at
motivation 36/144
Powered by Rabbit 1.0.8 Some may call it reinventing
the wheel 37/144
Powered by Rabbit 1.0.8 Go ahead, if you are
motivated 38/144
Powered by Rabbit 1.0.8 And it will introduce diversity
39/144
Powered by Rabbit 1.0.8 Diversity is Good 40/144
Powered by Rabbit 1.0.8 It may require cost 41/144
Powered by Rabbit 1.0.8 It might waste your time
42/144
Powered by Rabbit 1.0.8 But the world without diversity
is unpleasant 43/144
Powered by Rabbit 1.0.8 What if we force people
to focus on Perl? 44/144
Powered by Rabbit 1.0.8 Like the world of 1984
45/144
Powered by Rabbit 1.0.8 Diversity is the cost for
innovation 46/144
Powered by Rabbit 1.0.8 No one understands Innovation 47/144
Powered by Rabbit 1.0.8 Succeeded people don't 48/144
Powered by Rabbit 1.0.8 Failed people don't 49/144
Powered by Rabbit 1.0.8 No one 50/144
Powered by Rabbit 1.0.8 We try 51/144
Powered by Rabbit 1.0.8 Again 52/144
Powered by Rabbit 1.0.8 and Again 53/144
Powered by Rabbit 1.0.8 until we make innovation 54/144
Powered by Rabbit 1.0.8 But we`d better predict the
future 55/144
Powered by Rabbit 1.0.8 To raise the possibility of
success 56/144
Powered by Rabbit 1.0.8 57/144
Powered by Rabbit 1.0.8 IT survivers will be 58/144
Powered by Rabbit 1.0.8 IT survivers will be: language
designers dev env implementors and high valued niche players 59/144
Powered by Rabbit 1.0.8 Language designers? 60/144
Powered by Rabbit 1.0.8 Sounds weird? 61/144
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
Powered by Rabbit 1.0.8 Fair enough 63/144
Powered by Rabbit 1.0.8 But how can we be
language designers? 64/144
Powered by Rabbit 1.0.8 How many language designers do
you know? 65/144
Powered by Rabbit 1.0.8 me 66/144
Powered by Rabbit 1.0.8 Guido 67/144
Powered by Rabbit 1.0.8 Larry 68/144
Powered by Rabbit 1.0.8 Rasmus 69/144
Powered by Rabbit 1.0.8 ? 70/144
Powered by Rabbit 1.0.8 Language Designer or Serial Killer?
71/144
Powered by Rabbit 1.0.8 You may not start making
popular programming language 72/144
Powered by Rabbit 1.0.8 You may not implement a
programming language 73/144
Powered by Rabbit 1.0.8 But you code 74/144
Powered by Rabbit 1.0.8 Your identity 75/144
Powered by Rabbit 1.0.8 You design 76/144
Powered by Rabbit 1.0.8 You design code 77/144
Powered by Rabbit 1.0.8 You design API 78/144
Powered by Rabbit 1.0.8 You design interface 79/144
Powered by Rabbit 1.0.8 They are languages 80/144
Powered by Rabbit 1.0.8 Dave Thomas 81/144
Powered by Rabbit 1.0.8 Programming is a process of
designing your own DSL 82/144
Powered by Rabbit 1.0.8 In that sense, you can
be language designers 83/144
Powered by Rabbit 1.0.8 Too few people care about
design 84/144
Powered by Rabbit 1.0.8 The world is full of
crappy designs 85/144
Powered by Rabbit 1.0.8 Shoe strings 86/144
Powered by Rabbit 1.0.8 I hate loosen strings 87/144
Powered by Rabbit 1.0.8 I hate tying them again
& again 88/144
Powered by Rabbit 1.0.8 So I used superglue 89/144
Powered by Rabbit 1.0.8 The world is full of
room for improvement 90/144
Powered by Rabbit 1.0.8 Go fix them 91/144
Powered by Rabbit 1.0.8 By starting new project 92/144
Powered by Rabbit 1.0.8 By participating to exising project
93/144
Powered by Rabbit 1.0.8 Code, make it happen 94/144
Powered by Rabbit 1.0.8 in good shape 95/144
Powered by Rabbit 1.0.8 Reinvent wheels 96/144
Powered by Rabbit 1.0.8 Better wheels 97/144
Powered by Rabbit 1.0.8 Make the World better place
98/144
Powered by Rabbit 1.0.8 Be happy 99/144
Powered by Rabbit 1.0.8 I will 100/144
Powered by Rabbit 1.0.8 It was dark stormy night
101/144
Powered by Rabbit 1.0.8 in 1993 102/144
Powered by Rabbit 1.0.8 Almost 20 years ago 103/144
Powered by Rabbit 1.0.8 I had been happy for
last 20 years 104/144
Powered by Rabbit 1.0.8 It always had been more
than expected 105/144
Powered by Rabbit 1.0.8 I will try to make
the world better place 106/144
Powered by Rabbit 1.0.8 by making Ruby even better
107/144
Powered by Rabbit 1.0.8 On Faburary 24th 2013 108/144
Powered by Rabbit 1.0.8 Ruby's 20th birthday 109/144
Powered by Rabbit 1.0.8 We will release Ruby 2.0
110/144
Powered by Rabbit 1.0.8 finally 111/144
Powered by Rabbit 1.0.8 2001 112/144
Powered by Rabbit 1.0.8 2003 113/144
Powered by Rabbit 1.0.8 2001 2003 2006 2007 2010
2011 114/144
Powered by Rabbit 1.0.8 Of course you know that
115/144
Powered by Rabbit 1.0.8 But it is progressing steadly
116/144
Powered by Rabbit 1.0.8 It will be faster 117/144
Powered by Rabbit 1.0.8 It will be more reliable
118/144
Powered by Rabbit 1.0.8 More fun to use 119/144
Powered by Rabbit 1.0.8 keyword formal argument 120/144
Powered by Rabbit 1.0.8 Enumerable#lazy 121/144
Powered by Rabbit 1.0.8 Module#prepend 122/144
Powered by Rabbit 1.0.8 Refinement 123/144
Powered by Rabbit 1.0.8 Come join us 124/144
Powered by Rabbit 1.0.8 By using trunk 125/144
Powered by Rabbit 1.0.8 By reporting bugs 126/144
Powered by Rabbit 1.0.8 By fixing bugs 127/144
Powered by Rabbit 1.0.8 By sending pull-request 128/144
Powered by Rabbit 1.0.8 By porting your project to
2.0 129/144
Powered by Rabbit 1.0.8 We can make it better
130/144
Powered by Rabbit 1.0.8 We can make the world
better 131/144
Powered by Rabbit 1.0.8 mruby 132/144
Powered by Rabbit 1.0.8 Summary 133/144
Powered by Rabbit 1.0.8 No matter which way you
go 134/144
Powered by Rabbit 1.0.8 Be happy 135/144
Powered by Rabbit 1.0.8 Go as you motivated 136/144
Powered by Rabbit 1.0.8 Reinvent wheels 137/144
Powered by Rabbit 1.0.8 Fix shoe strings 138/144
Powered by Rabbit 1.0.8 Make the world better 139/144
Powered by Rabbit 1.0.8 I believe you can 140/144
Powered by Rabbit 1.0.8 Even if you don't 141/144
Powered by Rabbit 1.0.8 It's OK as long as
you'd been happy 142/144
Powered by Rabbit 1.0.8 Happy hacking! 143/144
Powered by Rabbit 1.0.8 Thank you 144/144