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
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
1
110
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
290
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
1.8k
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.1k
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
220
Better Code Design in PHP
afilina
PRO
0
120
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
230
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
110
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
530
CSC509 Lecture 09
javiergs
PRO
0
140
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Six Lessons from altMBA
skipperchong
27
3.5k
Code Reviewing Like a Champion
maltzj
520
39k
Ruby is Unlike a Banana
tanoku
97
11k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Building Adaptive Systems
keathley
38
2.3k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Visualization
eitanlees
145
15k
The Language of Interfaces
destraynor
154
24k
For a Future-Friendly Web
brad_frost
175
9.4k
A better future with KSS
kneath
238
17k
How to Ace a Technical Interview
jacobian
276
23k
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