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

30 Years of Ruby

30 Years of Ruby

RubyKaigi 2023 Keynote

Yukihiro Matsumoto

July 04, 2023
Tweet

More Decks by Yukihiro Matsumoto

Other Decks in Programming

Transcript

  1. Powered by Rabbit 3.0.1
    30 Years of Ruby
    OSS Vision
    Ruby Association
    Yukihiro "Matz" Matsumoto
    @yukihiro_matz

    View Slide

  2. Powered by Rabbit 3.0.1
     
    Lessons from 30 Years of History

    View Slide

  3. Powered by Rabbit 3.0.1
     
    1993-02-24

    View Slide

  4. Powered by Rabbit 3.0.1
     
    Ruby was named Ruby

    View Slide

  5. Powered by Rabbit 3.0.1
     
    Ruby
    Coral
    Tish

    View Slide

  6. Powered by Rabbit 3.0.1
     
    Lesson: Good Name

    View Slide

  7. Powered by Rabbit 3.0.1
     
    1993-02 〜 1994-12

    View Slide

  8. Powered by Rabbit 3.0.1
     
    Lonely Development

    View Slide

  9. Powered by Rabbit 3.0.1
     
    Ruby's Fundamental has been Stable

    View Slide

  10. Powered by Rabbit 3.0.1
     
    Lesson: Stick with Basic Principles

    View Slide

  11. Powered by Rabbit 3.0.1
     
    1994-12 〜 1995-12

    View Slide

  12. Powered by Rabbit 3.0.1
     
    Alpha Release

    View Slide

  13. Powered by Rabbit 3.0.1
     
    Lesson: Different POV

    View Slide

  14. Powered by Rabbit 3.0.1
     
    1995-12 〜 1997-08

    View Slide

  15. Powered by Rabbit 3.0.1
     
    First Public Release (0.95)

    View Slide

  16. Powered by Rabbit 3.0.1
     
    Lesson: Community = Communication

    View Slide

  17. Powered by Rabbit 3.0.1
     
    1997-08 〜 1999-11

    View Slide

  18. Powered by Rabbit 3.0.1
     
    Ruby 1.0

    View Slide

  19. Powered by Rabbit 3.0.1
     
    Lesson: Benefit vs Joy

    View Slide

  20. Powered by Rabbit 3.0.1
     
    99% Benefit Seekers

    View Slide

  21. Powered by Rabbit 3.0.1
     
    Chicken and Egg Problem

    View Slide

  22. Powered by Rabbit 3.0.1
     
    1% Just for Fun

    View Slide

  23. Powered by Rabbit 3.0.1
     
    Need More People

    View Slide

  24. Powered by Rabbit 3.0.1
     
    Seek Comrades

    View Slide

  25. Powered by Rabbit 3.0.1
     
    Share your Motivation

    View Slide

  26. Powered by Rabbit 3.0.1
     
    1999-11 〜 2004-10

    View Slide

  27. Powered by Rabbit 3.0.1
     
    Books and Conferences

    View Slide

  28. Powered by Rabbit 3.0.1
     
    First Ruby Book (1999-11)

    View Slide

  29. Powered by Rabbit 3.0.1
     
    First English Ruby Book (2000-10)

    View Slide

  30. Powered by Rabbit 3.0.1
     
    JAOO (2001-09)

    View Slide

  31. Powered by Rabbit 3.0.1
     
    First RubyConf (2001-10)

    View Slide

  32. Powered by Rabbit 3.0.1
     
    Growing Community

    View Slide

  33. Powered by Rabbit 3.0.1
     
    Lesson: Connection Matters

    View Slide

  34. Powered by Rabbit 3.0.1
     
    Pragmatic Programmers

    View Slide

  35. Powered by Rabbit 3.0.1
     
    Dave Thomas
    Andy Hunt

    View Slide

  36. Powered by Rabbit 3.0.1
     
    2004-10 〜 2009-01

    View Slide

  37. Powered by Rabbit 3.0.1
     
    Ruby on Rails

    View Slide

  38. Powered by Rabbit 3.0.1
     
    Killer Application (Web)

    View Slide

  39. Powered by Rabbit 3.0.1
     
    Ruby Association

    View Slide

  40. Powered by Rabbit 3.0.1
     
    Lesson: Joy can create Benefit

    View Slide

  41. Powered by Rabbit 3.0.1
     
    Lesson: Marketing is Important

    View Slide

  42. Powered by Rabbit 3.0.1
     
    Lesson: Filling Gap

    View Slide

  43. Powered by Rabbit 3.0.1
     
    2009-01 〜 2013-02

    View Slide

  44. Powered by Rabbit 3.0.1
     
    Ruby1.9

    View Slide

  45. Powered by Rabbit 3.0.1
     
    Community Split for 5+ Years

    View Slide

  46. Powered by Rabbit 3.0.1
     
    Lesson: Compatibility Matters

    View Slide

  47. Powered by Rabbit 3.0.1
     
    Lesson: Performance Heals All Sorrows

    View Slide

  48. Powered by Rabbit 3.0.1
     
    2013-02 〜 2015-11

    View Slide

  49. Powered by Rabbit 3.0.1
     
    Ruby2.0

    View Slide

  50. Powered by Rabbit 3.0.1
     
    New Features

    View Slide

  51. Powered by Rabbit 3.0.1
     
    Path to Perfection

    View Slide

  52. Powered by Rabbit 3.0.1
     
    The End of Rails "Illusion"

    View Slide

  53. Powered by Rabbit 3.0.1
     
    Lesson: People Come and Go

    View Slide

  54. Powered by Rabbit 3.0.1
     
    Lesson: Keep Moving Forward

    View Slide

  55. Powered by Rabbit 3.0.1
     
    2015-11 〜 2020-02

    View Slide

  56. Powered by Rabbit 3.0.1
     
    Ruby3x3

    View Slide

  57. Powered by Rabbit 3.0.1
     

    View Slide

  58. Powered by Rabbit 3.0.1
     
    MJIT, YJIT

    View Slide

  59. Powered by Rabbit 3.0.1
     
    Lesson: Leadership and Vision

    View Slide

  60. Powered by Rabbit 3.0.1
     
    2020-02 〜

    View Slide

  61. Powered by Rabbit 3.0.1
     
    Ruby3.0

    View Slide

  62. Powered by Rabbit 3.0.1
     
    "Ruby is Dead"

    View Slide

  63. Powered by Rabbit 3.0.1
     
    "Rails is Dead"

    View Slide

  64. Powered by Rabbit 3.0.1
     
    Lesson: Withstand Headwinds

    View Slide

  65. Powered by Rabbit 3.0.1
     

    View Slide

  66. Powered by Rabbit 3.0.1
     

    View Slide

  67. Powered by Rabbit 3.0.1
     
    Lesson: The Best Way To Predict The Future Is
    To Invent It

    View Slide

  68. Powered by Rabbit 3.0.1
     
    Other Notable Events

    View Slide

  69. Powered by Rabbit 3.0.1
     
    Alternative Implementations

    View Slide

  70. Powered by Rabbit 3.0.1
     
    JRuby (2001)
    IronRuby (2007)
    TruffleRuby (2013)
    mruby (2012)

    View Slide

  71. Powered by Rabbit 3.0.1
     
    ISO StandardISO/IEC 30170:2012

    View Slide

  72. Powered by Rabbit 3.0.1
     
    "100 Year Language" by Paul Graham

    View Slide

  73. Powered by Rabbit 3.0.1
     
    "30 Year Language" by Matz

    View Slide

  74. Powered by Rabbit 3.0.1
     
    Concise
    Readable
    Extensible

    View Slide

  75. Powered by Rabbit 3.0.1
     
    ☑ Concise
    ☑ Readable
    ☑ Extensible

    View Slide

  76. Powered by Rabbit 3.0.1
     
    We need to improve

    View Slide

  77. Powered by Rabbit 3.0.1
     
    Performance
    Concurrency
    Tools
    Types

    View Slide

  78. Powered by Rabbit 3.0.1
     
    ☑ Performance
    ☑ Concurrency
    ☑ Tools
    ☑ Types

    View Slide

  79. Powered by Rabbit 3.0.1
     

    View Slide

  80. Powered by Rabbit 3.0.1
     
    We will Keep Moving Forward

    View Slide

  81. Powered by Rabbit 3.0.1
     
    As we have always tried

    View Slide

  82. Powered by Rabbit 3.0.1
     
    To Create Better World

    View Slide

  83. Powered by Rabbit 3.0.1
     
    Together

    View Slide

  84. Powered by Rabbit 3.0.1
     
    Sponsored by
    Salesforce.com

    View Slide

  85. Powered by Rabbit 3.0.1
     
    Sponsored by
    NaCl

    View Slide

  86. Powered by Rabbit 3.0.1
     
    Sponsored by
    OSS Vision

    View Slide

  87. Powered by Rabbit 3.0.1
     
    Sponsored by
    GitHub Sponsors

    View Slide

  88. Powered by Rabbit 3.0.1
     
    Sponsored by
    Ruby Community

    View Slide

  89. Powered by Rabbit 3.0.1
     
    Thank you

    View Slide