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.6k
Other Decks in Programming
See All in Programming
Writing documentation can be fun with plugin system
okuramasafumi
0
120
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
140
Software Architecture
hschwentner
6
2.1k
Ruby on cygwin 2025-02
fd0
0
150
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2.2k
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
370
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
270
AWS Organizations で実現する、 マルチ AWS アカウントのルートユーザー管理からの脱却
atpons
0
150
社内フレームワークとその依存性解決 / in-house framework and its dependency management
vvakame
1
560
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
270
2024年のWebフロントエンドのふりかえりと2025年
sakito
3
260
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
200
Featured
See All Featured
Bash Introduction
62gerente
611
210k
Documentation Writing (for coders)
carmenintech
67
4.6k
The Cult of Friendly URLs
andyhume
78
6.2k
What's in a price? How to price your products and services
michaelherold
244
12k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
The Pragmatic Product Professional
lauravandoore
32
6.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Building Adaptive Systems
keathley
40
2.4k
Thoughts on Productivity
jonyablonski
69
4.5k
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