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
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
ヤプリ新卒SREの オンボーディング
masaki12
0
130
Realtime API 入門
riofujimon
0
150
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
140
初めてDefinitelyTypedにPRを出した話
syumai
0
420
cmp.Or に感動した
otakakot
3
200
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.3k
最新TCAキャッチアップ
0si43
0
190
Remix on Hono on Cloudflare Workers
yusukebe
1
300
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
230
Featured
See All Featured
Building Applications with DynamoDB
mza
90
6.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Designing for humans not robots
tammielis
250
25k
GraphQLとの向き合い方2022年版
quramy
43
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
How STYLIGHT went responsive
nonsquared
95
5.2k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Rails Girls Zürich Keynote
gr2m
94
13k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Practical Orchestrator
shlominoach
186
10k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
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