$30 off During Our Annual Pro Sale. View Details »

Reinventhing Wheels of Future

Reinventhing Wheels ofย Future

RubyConf 2012 Keynote

Yukihiro Matsumoto

November 03, 2012
Tweet

More Decks by Yukihiro Matsumoto

Other Decks in Programming

Transcript

  1. Powered by Rabbit 1.0.8 Reinventhing Wheels of Future Yukihiro "Matz"

    Matsumoto @yukihiro_matz
  2. Powered by Rabbit 1.0.8 ใ€€ I code, therefore I am.

    1/144
  3. Powered by Rabbit 1.0.8 ใ€€ I feel happy, when I

    code. 2/144
  4. Powered by Rabbit 1.0.8 ใ€€ I feel nervous, when I

    stand here. 3/144
  5. Powered by Rabbit 1.0.8 ใ€€ Do you? 4/144

  6. Powered by Rabbit 1.0.8 ใ€€ 5/144

  7. Powered by Rabbit 1.0.8 ใ€€ Ruby started February 1993 6/144

  8. Powered by Rabbit 1.0.8 ใ€€ as a scripting language for

    UNIX 7/144
  9. Powered by Rabbit 1.0.8 ใ€€ to replace Perl 8/144

  10. Powered by Rabbit 1.0.8 ใ€€ But not really 9/144

  11. Powered by Rabbit 1.0.8 ใ€€ I just wanted to create

    my own language 10/144
  12. Powered by Rabbit 1.0.8 ใ€€ Just for Fun 11/144

  13. Powered by Rabbit 1.0.8 ใ€€ Recently, a guy came and

    blamed me on Twitter 12/144
  14. Powered by Rabbit 1.0.8 ใ€€ โ€œWhy did you invented Ruby,

    where we had Perl?โ€ 13/144
  15. Powered by Rabbit 1.0.8 ใ€€ โ€œIt was redundant, reinvention of

    the wheelโ€ 14/144
  16. Powered by Rabbit 1.0.8 ใ€€ โ€œIt was waste of man-power

    that is limited resourceโ€ 15/144
  17. Powered by Rabbit 1.0.8 ใ€€ โ€œSo, many IT people feel

    negative about your workโ€ 16/144
  18. Powered by Rabbit 1.0.8 ใ€€ What do you think? 17/144

  19. Powered by Rabbit 1.0.8 ใ€€ Give me a break 18/144

  20. Powered by Rabbit 1.0.8 ใ€€ Indeed we have limited resources

    19/144
  21. Powered by Rabbit 1.0.8 ใ€€ Only 7 Billion people on

    Earth 20/144
  22. Powered by Rabbit 1.0.8 ใ€€ Very few among them code

    21/144
  23. Powered by Rabbit 1.0.8 ใ€€ But it's not a bottleneck

    22/144
  24. Powered by Rabbit 1.0.8 ใ€€ We have more rare resource

    23/144
  25. Powered by Rabbit 1.0.8 ใ€€ It's Motivation 24/144

  26. Powered by Rabbit 1.0.8 ใ€€ We are not machines 25/144

  27. Powered by Rabbit 1.0.8 ใ€€ We need driving force to

    accomplish great things 26/144
  28. Powered by Rabbit 1.0.8 ใ€€ What's your motivation? 27/144

  29. Powered by Rabbit 1.0.8 ใ€€ Fun? 28/144

  30. Powered by Rabbit 1.0.8 ใ€€ Profit? 29/144

  31. Powered by Rabbit 1.0.8 ใ€€ My motivation is love toward

    programming languages 30/144
  32. Powered by Rabbit 1.0.8 ใ€€ I love all programming languages

    on earth 31/144
  33. Powered by Rabbit 1.0.8 ใ€€ Including Fortran 32/144

  34. Powered by Rabbit 1.0.8 ใ€€ Perl 33/144

  35. Powered by Rabbit 1.0.8 ใ€€ Even PHP 34/144

  36. Powered by Rabbit 1.0.8 ใ€€ It might sound spooky 35/144

  37. Powered by Rabbit 1.0.8 ใ€€ No one should laugh at

    motivation 36/144
  38. Powered by Rabbit 1.0.8 ใ€€ Some may call it reinventing

    the wheel 37/144
  39. Powered by Rabbit 1.0.8 ใ€€ Go ahead, if you are

    motivated 38/144
  40. Powered by Rabbit 1.0.8 ใ€€ And it will introduce diversity

    39/144
  41. Powered by Rabbit 1.0.8 ใ€€ Diversity is Good 40/144

  42. Powered by Rabbit 1.0.8 ใ€€ It may require cost 41/144

  43. Powered by Rabbit 1.0.8 ใ€€ It might waste your time

    42/144
  44. Powered by Rabbit 1.0.8 ใ€€ But the world without diversity

    is unpleasant 43/144
  45. Powered by Rabbit 1.0.8 ใ€€ What if we force people

    to focus on Perl? 44/144
  46. Powered by Rabbit 1.0.8 ใ€€ Like the world of 1984

    45/144
  47. Powered by Rabbit 1.0.8 ใ€€ Diversity is the cost for

    innovation 46/144
  48. Powered by Rabbit 1.0.8 ใ€€ No one understands Innovation 47/144

  49. Powered by Rabbit 1.0.8 ใ€€ Succeeded people don't 48/144

  50. Powered by Rabbit 1.0.8 ใ€€ Failed people don't 49/144

  51. Powered by Rabbit 1.0.8 ใ€€ No one 50/144

  52. Powered by Rabbit 1.0.8 ใ€€ We try 51/144

  53. Powered by Rabbit 1.0.8 ใ€€ Again 52/144

  54. Powered by Rabbit 1.0.8 ใ€€ and Again 53/144

  55. Powered by Rabbit 1.0.8 ใ€€ until we make innovation 54/144

  56. Powered by Rabbit 1.0.8 ใ€€ But we`d better predict the

    future 55/144
  57. Powered by Rabbit 1.0.8 ใ€€ To raise the possibility of

    success 56/144
  58. Powered by Rabbit 1.0.8 ใ€€ 57/144

  59. Powered by Rabbit 1.0.8 ใ€€ IT survivers will be 58/144

  60. Powered by Rabbit 1.0.8 ใ€€ IT survivers will be: language

    designers dev env implementors and high valued niche players 59/144
  61. Powered by Rabbit 1.0.8 ใ€€ Language designers? 60/144

  62. Powered by Rabbit 1.0.8 ใ€€ Sounds weird? 61/144

  63. 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
  64. Powered by Rabbit 1.0.8 ใ€€ Fair enough 63/144

  65. Powered by Rabbit 1.0.8 ใ€€ But how can we be

    language designers? 64/144
  66. Powered by Rabbit 1.0.8 ใ€€ How many language designers do

    you know? 65/144
  67. Powered by Rabbit 1.0.8 ใ€€ me 66/144

  68. Powered by Rabbit 1.0.8 ใ€€ Guido 67/144

  69. Powered by Rabbit 1.0.8 ใ€€ Larry 68/144

  70. Powered by Rabbit 1.0.8 ใ€€ Rasmus 69/144

  71. Powered by Rabbit 1.0.8 ใ€€ ? 70/144

  72. Powered by Rabbit 1.0.8 ใ€€ Language Designer or Serial Killer?

    71/144
  73. Powered by Rabbit 1.0.8 ใ€€ You may not start making

    popular programming language 72/144
  74. Powered by Rabbit 1.0.8 ใ€€ You may not implement a

    programming language 73/144
  75. Powered by Rabbit 1.0.8 ใ€€ But you code 74/144

  76. Powered by Rabbit 1.0.8 ใ€€ Your identity 75/144

  77. Powered by Rabbit 1.0.8 ใ€€ You design 76/144

  78. Powered by Rabbit 1.0.8 ใ€€ You design code 77/144

  79. Powered by Rabbit 1.0.8 ใ€€ You design API 78/144

  80. Powered by Rabbit 1.0.8 ใ€€ You design interface 79/144

  81. Powered by Rabbit 1.0.8 ใ€€ They are languages 80/144

  82. Powered by Rabbit 1.0.8 ใ€€ Dave Thomas 81/144

  83. Powered by Rabbit 1.0.8 ใ€€ Programming is a process of

    designing your own DSL 82/144
  84. Powered by Rabbit 1.0.8 ใ€€ In that sense, you can

    be language designers 83/144
  85. Powered by Rabbit 1.0.8 ใ€€ Too few people care about

    design 84/144
  86. Powered by Rabbit 1.0.8 ใ€€ The world is full of

    crappy designs 85/144
  87. Powered by Rabbit 1.0.8 ใ€€ Shoe strings 86/144

  88. Powered by Rabbit 1.0.8 ใ€€ I hate loosen strings 87/144

  89. Powered by Rabbit 1.0.8 ใ€€ I hate tying them again

    & again 88/144
  90. Powered by Rabbit 1.0.8 ใ€€ So I used superglue 89/144

  91. Powered by Rabbit 1.0.8 ใ€€ The world is full of

    room for improvement 90/144
  92. Powered by Rabbit 1.0.8 ใ€€ Go fix them 91/144

  93. Powered by Rabbit 1.0.8 ใ€€ By starting new project 92/144

  94. Powered by Rabbit 1.0.8 ใ€€ By participating to exising project

    93/144
  95. Powered by Rabbit 1.0.8 ใ€€ Code, make it happen 94/144

  96. Powered by Rabbit 1.0.8 ใ€€ in good shape 95/144

  97. Powered by Rabbit 1.0.8 ใ€€ Reinvent wheels 96/144

  98. Powered by Rabbit 1.0.8 ใ€€ Better wheels 97/144

  99. Powered by Rabbit 1.0.8 ใ€€ Make the World better place

    98/144
  100. Powered by Rabbit 1.0.8 ใ€€ Be happy 99/144

  101. Powered by Rabbit 1.0.8 ใ€€ I will 100/144

  102. Powered by Rabbit 1.0.8 ใ€€ It was dark stormy night

    101/144
  103. Powered by Rabbit 1.0.8 ใ€€ in 1993 102/144

  104. Powered by Rabbit 1.0.8 ใ€€ Almost 20 years ago 103/144

  105. Powered by Rabbit 1.0.8 ใ€€ I had been happy for

    last 20 years 104/144
  106. Powered by Rabbit 1.0.8 ใ€€ It always had been more

    than expected 105/144
  107. Powered by Rabbit 1.0.8 ใ€€ I will try to make

    the world better place 106/144
  108. Powered by Rabbit 1.0.8 ใ€€ by making Ruby even better

    107/144
  109. Powered by Rabbit 1.0.8 ใ€€ On Faburary 24th 2013 108/144

  110. Powered by Rabbit 1.0.8 ใ€€ Ruby's 20th birthday 109/144

  111. Powered by Rabbit 1.0.8 ใ€€ We will release Ruby 2.0

    110/144
  112. Powered by Rabbit 1.0.8 ใ€€ finally 111/144

  113. Powered by Rabbit 1.0.8 ใ€€ 2001 112/144

  114. Powered by Rabbit 1.0.8 ใ€€ 2003 113/144

  115. Powered by Rabbit 1.0.8 ใ€€ 2001 2003 2006 2007 2010

    2011 114/144
  116. Powered by Rabbit 1.0.8 ใ€€ Of course you know that

    115/144
  117. Powered by Rabbit 1.0.8 ใ€€ But it is progressing steadly

    116/144
  118. Powered by Rabbit 1.0.8 ใ€€ It will be faster 117/144

  119. Powered by Rabbit 1.0.8 ใ€€ It will be more reliable

    118/144
  120. Powered by Rabbit 1.0.8 ใ€€ More fun to use 119/144

  121. Powered by Rabbit 1.0.8 ใ€€ keyword formal argument 120/144

  122. Powered by Rabbit 1.0.8 ใ€€ Enumerable#lazy 121/144

  123. Powered by Rabbit 1.0.8 ใ€€ Module#prepend 122/144

  124. Powered by Rabbit 1.0.8 ใ€€ Refinement 123/144

  125. Powered by Rabbit 1.0.8 ใ€€ Come join us 124/144

  126. Powered by Rabbit 1.0.8 ใ€€ By using trunk 125/144

  127. Powered by Rabbit 1.0.8 ใ€€ By reporting bugs 126/144

  128. Powered by Rabbit 1.0.8 ใ€€ By fixing bugs 127/144

  129. Powered by Rabbit 1.0.8 ใ€€ By sending pull-request 128/144

  130. Powered by Rabbit 1.0.8 ใ€€ By porting your project to

    2.0 129/144
  131. Powered by Rabbit 1.0.8 ใ€€ We can make it better

    130/144
  132. Powered by Rabbit 1.0.8 ใ€€ We can make the world

    better 131/144
  133. Powered by Rabbit 1.0.8 ใ€€ mruby 132/144

  134. Powered by Rabbit 1.0.8 ใ€€ Summary 133/144

  135. Powered by Rabbit 1.0.8 ใ€€ No matter which way you

    go 134/144
  136. Powered by Rabbit 1.0.8 ใ€€ Be happy 135/144

  137. Powered by Rabbit 1.0.8 ใ€€ Go as you motivated 136/144

  138. Powered by Rabbit 1.0.8 ใ€€ Reinvent wheels 137/144

  139. Powered by Rabbit 1.0.8 ใ€€ Fix shoe strings 138/144

  140. Powered by Rabbit 1.0.8 ใ€€ Make the world better 139/144

  141. Powered by Rabbit 1.0.8 ใ€€ I believe you can 140/144

  142. Powered by Rabbit 1.0.8 ใ€€ Even if you don't 141/144

  143. Powered by Rabbit 1.0.8 ใ€€ It's OK as long as

    you'd been happy 142/144
  144. Powered by Rabbit 1.0.8 ใ€€ Happy hacking! 143/144

  145. Powered by Rabbit 1.0.8 ใ€€ Thank you 144/144