Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ruby Everywhere

Ruby Everywhere

The keynote in RubyConf 2011 New Orleans

0ec4920185b657a03edf01fff96b4e9b?s=128

Yukihiro Matsumoto

October 02, 2011
Tweet

Transcript

  1. Powered by Rabbit 0.9.2 Ruby Everywhere まつもと ゆきひろ Yukihiro "Matz"

    Matsumoto @yukihiro_matz
  2. Powered by Rabbit 0.9.2  TPO  1/192

  3. Powered by Rabbit 0.9.2 TPO O=Occasion 2/192

  4. Powered by Rabbit 0.9.2 Occasion Keynote 3/192

  5. Powered by Rabbit 0.9.2 Keynote a speech, as at a

    political convention, that presents important issues, principles, policies, etc. 4/192
  6. Powered by Rabbit 0.9.2 Keynote Give me a break 5/192

  7. Powered by Rabbit 0.9.2 Keynote I am a mere programmer

    6/192
  8. Powered by Rabbit 0.9.2 a programmer who invented a language

    7/192
  9. Powered by Rabbit 0.9.2   a great language 8/192

  10. Powered by Rabbit 0.9.2   accidentally 9/192

  11. Powered by Rabbit 0.9.2   But that's life Ce'st la

    vie 10/192
  12. Powered by Rabbit 0.9.2   Let's start the keynote 11/192

  13. Powered by Rabbit 0.9.2 Keynote Good and Bad 12/192

  14. Powered by Rabbit 0.9.2 Keynote: the good part The first

    at the conference I can enjoy rest of the conference 13/192
  15. Powered by Rabbit 0.9.2 Keynote: the bad part The first

    at the conference I have less time to prepare You have to endure 14/192
  16. Powered by Rabbit 0.9.2 TPO P=Place 15/192

  17. Powered by Rabbit 0.9.2 Place New Orleans 16/192

  18. Powered by Rabbit 0.9.2 Place 松江 Matsue 17/192

  19. Powered by Rabbit 0.9.2 Matsue My hometown 18/192

  20. Powered by Rabbit 0.9.2 Place Sister Cities 19/192

  21. Powered by Rabbit 0.9.2   Any locals? 20/192

  22. Powered by Rabbit 0.9.2 Place Mayor Matsuura of Matsue City

    21/192
  23. Powered by Rabbit 0.9.2   Hi from him 22/192

  24. Powered by Rabbit 0.9.2 TPO T=Time 23/192

  25. Powered by Rabbit 0.9.2 Time 2011 24/192

  26. Powered by Rabbit 0.9.2 The first RubyConf was Oct. 12-14

    2001 in Tampa, FL 25/192
  27. Powered by Rabbit 0.9.2 So it's 11th RubyConf 26/192

  28. Powered by Rabbit 0.9.2   First RubyConf in second decade

    27/192
  29. Powered by Rabbit 0.9.2   10th anniversary 28/192

  30. Powered by Rabbit 0.9.2   Good chance to beat the

    world 29/192
  31. Powered by Rabbit 0.9.2   30/192

  32. Powered by Rabbit 0.9.2   2011 31/192

  33. Powered by Rabbit 0.9.2 New position 32/192

  34. Powered by Rabbit 0.9.2   Chief Architect, Ruby 33/192

  35. Powered by Rabbit 0.9.2   2010 34/192

  36. Powered by Rabbit 0.9.2   Salesforce.com acquires Heroku.com 35/192

  37. Powered by Rabbit 0.9.2 Marc Benioff “Ruby is the language

    of Cloud 2” 36/192
  38. Powered by Rabbit 0.9.2   6 months later 37/192

  39. Powered by Rabbit 0.9.2 TOYOTA Friend 38/192

  40. Powered by Rabbit 0.9.2   39/192

  41. Powered by Rabbit 0.9.2 Marc Benioff “Ruby is great!” 40/192

  42. Powered by Rabbit 0.9.2 Marc Benioff “I want to help

    Ruby!” 41/192
  43. Powered by Rabbit 0.9.2 Marc Benioff “as the language of

    cloud age” 42/192
  44. Powered by Rabbit 0.9.2 Marc Benioff “I want to HIRE

    YOU!” 43/192
  45. Powered by Rabbit 0.9.2   What!? 44/192

  46. Powered by Rabbit 0.9.2   45/192

  47. Powered by Rabbit 0.9.2 Chief Architect, Ruby Least Business-ish Title

    46/192
  48. Powered by Rabbit 0.9.2 Chief Architect, Ruby I will keep

    working on Ruby core development 47/192
  49. Powered by Rabbit 0.9.2 Chief Architect, Ruby As I have

    done for long time 48/192
  50. Powered by Rabbit 0.9.2 Chief Architect, Ruby They don't ask

    me anything new 49/192
  51. Powered by Rabbit 0.9.2 Chief Architect, Ruby except attnending Dreamforce

    50/192
  52. Powered by Rabbit 0.9.2 Chief Architect, Ruby I have been

    worked full time for long time 51/192
  53. Powered by Rabbit 0.9.2   52/192

  54. Powered by Rabbit 0.9.2 Chief Architect, Ruby My financial situation

    has been improved 53/192
  55. Powered by Rabbit 0.9.2 Chief Architect, Ruby Hiring me do

    not accelerate development much 54/192
  56. Powered by Rabbit 0.9.2 We have to improve SFDC+Heroku want

    to accelerate Ruby development 55/192
  57. Powered by Rabbit 0.9.2 We have to improve So we

    are going to form a team 56/192
  58. Powered by Rabbit 0.9.2 We have to improve of full-time

    core committer(s) 57/192
  59. Powered by Rabbit 0.9.2 Full-time core committer Nobuyoshi Nakada (Nobu)

    58/192
  60. Powered by Rabbit 0.9.2 Full-time core committer aka "Patch Monster"

    59/192
  61. Powered by Rabbit 0.9.2 Full-time core committer PatchMon 60/192

  62. Powered by Rabbit 0.9.2 Full-time core committer Nobuyoshi Nakada (Nobu)

    61/192
  63. Powered by Rabbit 0.9.2 Number One Committer 62/192

  64. Powered by Rabbit 0.9.2 Number One Committer 63/192

  65. Powered by Rabbit 0.9.2   You can expect more patches

    from Nobu 64/192
  66. Powered by Rabbit 0.9.2 Full-time Committers More to come (if

    budget allows) 65/192
  67. Powered by Rabbit 0.9.2 Full-time Committers I welcome more companies

    to hire core committers 66/192
  68. Powered by Rabbit 0.9.2 Full-time Committers I have already contacted

    EnginYard 67/192
  69. Powered by Rabbit 0.9.2   68/192

  70. Powered by Rabbit 0.9.2   2011 69/192

  71. Powered by Rabbit 0.9.2 the Standard We have been working

    on the standard for last three years 70/192
  72. Powered by Rabbit 0.9.2 the Standard JIS Japan Industrial Standard

    71/192
  73. Powered by Rabbit 0.9.2 the Standard JIS x3017 72/192

  74. Powered by Rabbit 0.9.2 the Standard ISO 73/192

  75. Powered by Rabbit 0.9.2 the Standard Vote: 20 vs 0

    74/192
  76. Powered by Rabbit 0.9.2 The Standard The subset of Ruby

    75/192
  77. Powered by Rabbit 0.9.2 The Standard 1.8 and 1.9 compatible

    76/192
  78. Powered by Rabbit 0.9.2 The Standard Platform independence 77/192

  79. Powered by Rabbit 0.9.2 The Standard No fork, no thread

    78/192
  80. Powered by Rabbit 0.9.2 The Standard It's stll incomplete 79/192

  81. Powered by Rabbit 0.9.2 The Standard More versions to come

    80/192
  82. Powered by Rabbit 0.9.2 The Standard Better coverage 81/192

  83. Powered by Rabbit 0.9.2 The Standard Will move to 1.9

    (or 2.0) 82/192
  84. Powered by Rabbit 0.9.2 The Standard The reasons behind 83/192

  85. Powered by Rabbit 0.9.2 The reasons behind Business reliability 84/192

  86. Powered by Rabbit 0.9.2 The reasons behind Alternative implementations 85/192

  87. Powered by Rabbit 0.9.2   86/192

  88. Powered by Rabbit 0.9.2   2011 87/192

  89. Powered by Rabbit 0.9.2   The world has been taken

    over by machines 88/192
  90. Powered by Rabbit 0.9.2   89/192

  91. Powered by Rabbit 0.9.2   90/192

  92. Powered by Rabbit 0.9.2   91/192

  93. Powered by Rabbit 0.9.2   92/192

  94. Powered by Rabbit 0.9.2   93/192

  95. Powered by Rabbit 0.9.2   94/192

  96. Powered by Rabbit 0.9.2   95/192

  97. Powered by Rabbit 0.9.2   96/192

  98. Powered by Rabbit 0.9.2   97/192

  99. Powered by Rabbit 0.9.2   98/192

  100. Powered by Rabbit 0.9.2   All driven by computers 99/192

  101. Powered by Rabbit 0.9.2   Computers need software 100/192

  102. Powered by Rabbit 0.9.2   Software ratio in systems increasing

    101/192
  103. Powered by Rabbit 0.9.2   Software should be written by

    us 102/192
  104. Powered by Rabbit 0.9.2   in programming languages 103/192

  105. Powered by Rabbit 0.9.2   There are numerous programming languages

    104/192
  106. Powered by Rabbit 0.9.2   But what we love most

    is.. 105/192
  107. Powered by Rabbit 0.9.2   Ruby 106/192

  108. Powered by Rabbit 0.9.2   But what is Ruby? 107/192

  109. Powered by Rabbit 0.9.2   Muiti-fold definition 108/192

  110. Powered by Rabbit 0.9.2   Ruby the syntax 109/192

  111. Powered by Rabbit 0.9.2   Ruby the philosophy 110/192

  112. Powered by Rabbit 0.9.2   Ruby the library 111/192

  113. Powered by Rabbit 0.9.2   Ruby the gems 112/192

  114. Powered by Rabbit 0.9.2   Ruby the community 113/192

  115. Powered by Rabbit 0.9.2   We'd like to help more

    developers 114/192
  116. Powered by Rabbit 0.9.2   JRuby 115/192

  117. Powered by Rabbit 0.9.2   Ruby for JVM platform 116/192

  118. Powered by Rabbit 0.9.2   Ruby to reach Java world

    117/192
  119. Powered by Rabbit 0.9.2   Ruboto 118/192

  120. Powered by Rabbit 0.9.2   JRuby on Android 119/192

  121. Powered by Rabbit 0.9.2   Rhodes 120/192

  122. Powered by Rabbit 0.9.2   Ruby for mobile phones 121/192

  123. Powered by Rabbit 0.9.2   CRuby 122/192

  124. Powered by Rabbit 0.9.2   Ruby 1.9.3 123/192

  125. Powered by Rabbit 0.9.2   Ruby 1.9.3RC1 124/192

  126. Powered by Rabbit 0.9.2   Yugui 125/192

  127. Powered by Rabbit 0.9.2   126/192

  128. Powered by Rabbit 0.9.2   Keywords for the future 127/192

  129. Powered by Rabbit 0.9.2   Cloud+Mobile 128/192

  130. Powered by Rabbit 0.9.2   Cloud 129/192

  131. Powered by Rabbit 0.9.2   130/192

  132. Powered by Rabbit 0.9.2   131/192

  133. Powered by Rabbit 0.9.2   132/192

  134. Powered by Rabbit 0.9.2   Mobile 133/192

  135. Powered by Rabbit 0.9.2   Small devices 134/192

  136. Powered by Rabbit 0.9.2   Digital appliances 135/192

  137. Powered by Rabbit 0.9.2   Mobile phones 136/192

  138. Powered by Rabbit 0.9.2   Vehicle 137/192

  139. Powered by Rabbit 0.9.2   Robots 138/192

  140. Powered by Rabbit 0.9.2   I'd like to address these

    fields 139/192
  141. Powered by Rabbit 0.9.2   As Lua does now 140/192

  142. Powered by Rabbit 0.9.2   141/192

  143. Powered by Rabbit 0.9.2   mruby 142/192

  144. Powered by Rabbit 0.9.2 mruby Matz's embeddable minimal implementation of

    Ruby language 143/192
  145. Powered by Rabbit 0.9.2   RiteVM as core 144/192

  146. Powered by Rabbit 0.9.2   Minimal standard libraries 145/192

  147. Powered by Rabbit 0.9.2   Embeddable C API 146/192

  148. Powered by Rabbit 0.9.2   Incremental GC 147/192

  149. Powered by Rabbit 0.9.2   Soft realtime 148/192

  150. Powered by Rabbit 0.9.2   Parser to generate AST 149/192

  151. Powered by Rabbit 0.9.2   Codegen to generate bytecode 150/192

  152. Powered by Rabbit 0.9.2   RiteVM to run bytecode 151/192

  153. Powered by Rabbit 0.9.2   32bit instructions 152/192

  154. Powered by Rabbit 0.9.2   Instructions are serializable 153/192

  155. Powered by Rabbit 0.9.2   to binary files 154/192

  156. Powered by Rabbit 0.9.2   or C files 155/192

  157. Powered by Rabbit 0.9.2   Entirely written in C99 156/192

  158. Powered by Rabbit 0.9.2   for all imaginable platforms 157/192

  159. Powered by Rabbit 0.9.2   Linux 158/192

  160. Powered by Rabbit 0.9.2   Windows 159/192

  161. Powered by Rabbit 0.9.2   MacOS 160/192

  162. Powered by Rabbit 0.9.2   Android 161/192

  163. Powered by Rabbit 0.9.2   iOS 162/192

  164. Powered by Rabbit 0.9.2   VxWorks 163/192

  165. Powered by Rabbit 0.9.2   ITRON 164/192

  166. Powered by Rabbit 0.9.2   or even non OS platforms

    165/192
  167. Powered by Rabbit 0.9.2   As I explained last year

    166/192
  168. Powered by Rabbit 0.9.2   Difference? 167/192

  169. Powered by Rabbit 0.9.2   Now it works! 168/192

  170. Powered by Rabbit 0.9.2   Demo 169/192

  171. Powered by Rabbit 0.9.2 Demo Mandelbrot Set 170/192

  172. Powered by Rabbit 0.9.2   171/192

  173. Powered by Rabbit 0.9.2   mruby is young 172/192

  174. Powered by Rabbit 0.9.2   it's small 173/192

  175. Powered by Rabbit 0.9.2   it's weak 174/192

  176. Powered by Rabbit 0.9.2   mruby has possibility 175/192

  177. Powered by Rabbit 0.9.2   huge possibility 176/192

  178. Powered by Rabbit 0.9.2   can you imagine? 177/192

  179. Powered by Rabbit 0.9.2   Mobile device 178/192

  180. Powered by Rabbit 0.9.2   Robots 179/192

  181. Powered by Rabbit 0.9.2   Digital appliances 180/192

  182. Powered by Rabbit 0.9.2   Games 181/192

  183. Powered by Rabbit 0.9.2   Ruby instead of Lua 182/192

  184. Powered by Rabbit 0.9.2   Server side 183/192

  185. Powered by Rabbit 0.9.2   Ruby instead of Node.js 184/192

  186. Powered by Rabbit 0.9.2   One big step to rule

    the world 185/192
  187. Powered by Rabbit 0.9.2   No perfect languages 186/192

  188. Powered by Rabbit 0.9.2   Even Ruby 187/192

  189. Powered by Rabbit 0.9.2   We'd like to provide choices

    188/192
  190. Powered by Rabbit 0.9.2   Freedom to choose Ruby 189/192

  191. Powered by Rabbit 0.9.2   And make the world happier

    190/192
  192. Powered by Rabbit 0.9.2   As we feel right now

    191/192
  193. Powered by Rabbit 0.9.2   Thank you 192/192