Reinventhing Wheels of Future

Reinventhing Wheels of Future

RubyConf 2012 Keynote

9fd98ce2546f50257873c2f23e95d293?s=128

Yukihiro Matsumoto

November 03, 2012
Tweet

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