RubyConf 2012 Keynote
Powered by Rabbit 1.0.8Reinventhing Wheels ofFutureYukihiro "Matz" Matsumoto@yukihiro_matz
View Slide
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 19936/144
Powered by Rabbit 1.0.8 as a scripting language for UNIX7/144
Powered by Rabbit 1.0.8 to replace Perl8/144
Powered by Rabbit 1.0.8 But not really9/144
Powered by Rabbit 1.0.8 I just wanted to create my ownlanguage10/144
Powered by Rabbit 1.0.8 Just for Fun11/144
Powered by Rabbit 1.0.8 Recently, a guy came andblamed me on Twitter12/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 ofthe wheel”14/144
Powered by Rabbit 1.0.8 “It was waste of man-power thatis limited resource”15/144
Powered by Rabbit 1.0.8 “So, many IT people feelnegative 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 break18/144
Powered by Rabbit 1.0.8 Indeed we have limited resources19/144
Powered by Rabbit 1.0.8 Only 7 Billion people on Earth20/144
Powered by Rabbit 1.0.8 Very few among them code21/144
Powered by Rabbit 1.0.8 But it's not a bottleneck22/144
Powered by Rabbit 1.0.8 We have more rare resource23/144
Powered by Rabbit 1.0.8 It's Motivation24/144
Powered by Rabbit 1.0.8 We are not machines25/144
Powered by Rabbit 1.0.8 We need driving force toaccomplish great things26/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 towardprogramming languages30/144
Powered by Rabbit 1.0.8 I love all programming languageson earth31/144
Powered by Rabbit 1.0.8 Including Fortran32/144
Powered by Rabbit 1.0.8 Perl33/144
Powered by Rabbit 1.0.8 Even PHP34/144
Powered by Rabbit 1.0.8 It might sound spooky35/144
Powered by Rabbit 1.0.8 No one should laugh atmotivation36/144
Powered by Rabbit 1.0.8 Some may call it reinventing thewheel37/144
Powered by Rabbit 1.0.8 Go ahead, if you are motivated38/144
Powered by Rabbit 1.0.8 And it will introduce diversity39/144
Powered by Rabbit 1.0.8 Diversity is Good40/144
Powered by Rabbit 1.0.8 It may require cost41/144
Powered by Rabbit 1.0.8 It might waste your time42/144
Powered by Rabbit 1.0.8 But the world without diversity isunpleasant43/144
Powered by Rabbit 1.0.8 What if we force people to focuson Perl?44/144
Powered by Rabbit 1.0.8 Like the world of 198445/144
Powered by Rabbit 1.0.8 Diversity is the cost forinnovation46/144
Powered by Rabbit 1.0.8 No one understands Innovation47/144
Powered by Rabbit 1.0.8 Succeeded people don't48/144
Powered by Rabbit 1.0.8 Failed people don't49/144
Powered by Rabbit 1.0.8 No one50/144
Powered by Rabbit 1.0.8 We try51/144
Powered by Rabbit 1.0.8 Again52/144
Powered by Rabbit 1.0.8 and Again53/144
Powered by Rabbit 1.0.8 until we make innovation54/144
Powered by Rabbit 1.0.8 But we`d better predict thefuture55/144
Powered by Rabbit 1.0.8 To raise the possibility of success56/144
Powered by Rabbit 1.0.8 57/144
Powered by Rabbit 1.0.8 IT survivers will be58/144
Powered by Rabbit 1.0.8 IT survivers will be:language designersdev env implementorsand high valued niche players59/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 befundamental literacyEasy tasks can be done byeverybodyProfessionals (like us) shoulddo harder tasks62/144
Powered by Rabbit 1.0.8 Fair enough63/144
Powered by Rabbit 1.0.8 But how can we be languagedesigners?64/144
Powered by Rabbit 1.0.8 How many language designersdo you know?65/144
Powered by Rabbit 1.0.8 me66/144
Powered by Rabbit 1.0.8 Guido67/144
Powered by Rabbit 1.0.8 Larry68/144
Powered by Rabbit 1.0.8 Rasmus69/144
Powered by Rabbit 1.0.8 ?70/144
Powered by Rabbit 1.0.8 Language Designeror Serial Killer?71/144
Powered by Rabbit 1.0.8 You may not start makingpopular programming language72/144
Powered by Rabbit 1.0.8 You may not implement aprogramming language73/144
Powered by Rabbit 1.0.8 But you code74/144
Powered by Rabbit 1.0.8 Your identity75/144
Powered by Rabbit 1.0.8 You design76/144
Powered by Rabbit 1.0.8 You design code77/144
Powered by Rabbit 1.0.8 You design API78/144
Powered by Rabbit 1.0.8 You design interface79/144
Powered by Rabbit 1.0.8 They are languages80/144
Powered by Rabbit 1.0.8 Dave Thomas81/144
Powered by Rabbit 1.0.8 Programming is a process ofdesigning your own DSL82/144
Powered by Rabbit 1.0.8 In that sense, you can belanguage designers83/144
Powered by Rabbit 1.0.8 Too few people care aboutdesign84/144
Powered by Rabbit 1.0.8 The world is full of crappydesigns85/144
Powered by Rabbit 1.0.8 Shoe strings86/144
Powered by Rabbit 1.0.8 I hate loosen strings87/144
Powered by Rabbit 1.0.8 I hate tying them again & again88/144
Powered by Rabbit 1.0.8 So I used superglue89/144
Powered by Rabbit 1.0.8 The world is full of room forimprovement90/144
Powered by Rabbit 1.0.8 Go fix them91/144
Powered by Rabbit 1.0.8 By starting new project92/144
Powered by Rabbit 1.0.8 By participating to exising project93/144
Powered by Rabbit 1.0.8 Code, make it happen94/144
Powered by Rabbit 1.0.8 in good shape95/144
Powered by Rabbit 1.0.8 Reinvent wheels96/144
Powered by Rabbit 1.0.8 Better wheels97/144
Powered by Rabbit 1.0.8 Make the World better place98/144
Powered by Rabbit 1.0.8 Be happy99/144
Powered by Rabbit 1.0.8 I will100/144
Powered by Rabbit 1.0.8 It was dark stormy night101/144
Powered by Rabbit 1.0.8 in 1993102/144
Powered by Rabbit 1.0.8 Almost 20 years ago103/144
Powered by Rabbit 1.0.8 I had been happy for last 20years104/144
Powered by Rabbit 1.0.8 It always had been more thanexpected105/144
Powered by Rabbit 1.0.8 I will try to make the world betterplace106/144
Powered by Rabbit 1.0.8 by making Ruby even better107/144
Powered by Rabbit 1.0.8 On Faburary 24th 2013108/144
Powered by Rabbit 1.0.8 Ruby's 20th birthday109/144
Powered by Rabbit 1.0.8 We will release Ruby 2.0110/144
Powered by Rabbit 1.0.8 finally111/144
Powered by Rabbit 1.0.8 2001112/144
Powered by Rabbit 1.0.8 2003113/144
Powered by Rabbit 1.0.8 2001 2003 20062007 2010 2011114/144
Powered by Rabbit 1.0.8 Of course you know that115/144
Powered by Rabbit 1.0.8 But it is progressing steadly116/144
Powered by Rabbit 1.0.8 It will be faster117/144
Powered by Rabbit 1.0.8 It will be more reliable118/144
Powered by Rabbit 1.0.8 More fun to use119/144
Powered by Rabbit 1.0.8 keyword formal argument120/144
Powered by Rabbit 1.0.8 Enumerable#lazy121/144
Powered by Rabbit 1.0.8 Module#prepend122/144
Powered by Rabbit 1.0.8 Refinement123/144
Powered by Rabbit 1.0.8 Come join us124/144
Powered by Rabbit 1.0.8 By using trunk125/144
Powered by Rabbit 1.0.8 By reporting bugs126/144
Powered by Rabbit 1.0.8 By fixing bugs127/144
Powered by Rabbit 1.0.8 By sending pull-request128/144
Powered by Rabbit 1.0.8 By porting your project to 2.0129/144
Powered by Rabbit 1.0.8 We can make it better130/144
Powered by Rabbit 1.0.8 We can make the world better131/144
Powered by Rabbit 1.0.8 mruby132/144
Powered by Rabbit 1.0.8 Summary133/144
Powered by Rabbit 1.0.8 No matter which way you go134/144
Powered by Rabbit 1.0.8 Be happy135/144
Powered by Rabbit 1.0.8 Go as you motivated136/144
Powered by Rabbit 1.0.8 Reinvent wheels137/144
Powered by Rabbit 1.0.8 Fix shoe strings138/144
Powered by Rabbit 1.0.8 Make the world better139/144
Powered by Rabbit 1.0.8 I believe you can140/144
Powered by Rabbit 1.0.8 Even if you don't141/144
Powered by Rabbit 1.0.8 It's OK as long as you'd beenhappy142/144
Powered by Rabbit 1.0.8 Happy hacking!143/144
Powered by Rabbit 1.0.8 Thank you144/144