Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ruby after 25 years
Search
Yukihiro Matsumoto
February 24, 2018
Programming
1.5k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ruby after 25 years
Ruby25周年記念イベント
Yukihiro Matsumoto
February 24, 2018
More Decks by Yukihiro Matsumoto
See All by Yukihiro Matsumoto
30 Years of Ruby
matz
0
520
mruby VM
matz
0
110
Contribute to Ruby (RubyKaigi 2022)
matz
0
280
Ruby_through_Reserved_Words.pdf
matz
0
160
What is software made of?
matz
0
710
Streem
matz
8
3.8k
world-of-languages.pdf
matz
8
1.3k
Ruby Everywhere
matz
11
120k
Other Decks in Programming
See All in Programming
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.2k
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
150
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.2k
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
240
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
450
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
310
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
640
ふつうのFeature Flag実践入門
irof
7
3.6k
AI時代のUIはどこへ行く?その2!
yusukebe
19
6.9k
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
850
AIエージェントの隔離技術の徹底比較
kawayu
0
470
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
940
How GitHub (no longer) Works
holman
316
150k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
sira's awesome portfolio website redesign presentation
elsirapls
0
270
Game over? The fight for quality and originality in the time of robots
wayneb77
1
190
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
450
Are puppies a ranking factor?
jonoalderson
1
3.5k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Transcript
Powered by Rabbit 2.2.0 Ruby after 25 years Rubyアソシエーション 理事長
Heroku @yukihiro_matz Yukihiro "Matz" Matsumoto まつもとゆきひろ
Powered by Rabbit 2.2.0 Ruby誕生25周年
Powered by Rabbit 2.2.0 「言語の誕生」とは?
Powered by Rabbit 2.2.0 プログラミング言語の誕生
Powered by Rabbit 2.2.0 ソフトウェアの誕生
Powered by Rabbit 2.2.0 公開日(Wikipedia)
Powered by Rabbit 2.2.0 Ruby 0.95公開
Powered by Rabbit 2.2.0 1995-12-21
Powered by Rabbit 2.2.0 しかし、それは「誕生」か?
Powered by Rabbit 2.2.0 ソフトウェアの誕生
Powered by Rabbit 2.2.0 物理的実体がない
Powered by Rabbit 2.2.0 概念上の存在
Powered by Rabbit 2.2.0 RubyはいつからRubyか
Powered by Rabbit 2.2.0 哲学的
Powered by Rabbit 2.2.0 Rubyという概念が誕生した日
Powered by Rabbit 2.2.0 Rubyという概念?
Powered by Rabbit 2.2.0 Rubyという名前
Powered by Rabbit 2.2.0 「名前重要」
Powered by Rabbit 2.2.0 名前によって存在が認識される
Powered by Rabbit 2.2.0 名前は概念と直結
Powered by Rabbit 2.2.0 Rubyと名付けた日
Powered by Rabbit 2.2.0 Rubyの誕生日
Powered by Rabbit 2.2.0 1993-02-24
Powered by Rabbit 2.2.0 Perlに倣って宝石の名前
Powered by Rabbit 2.2.0 Ruby or Coral
Powered by Rabbit 2.2.0 Rubyのほうがキレイ
Powered by Rabbit 2.2.0 Rubyのほうが短い
Powered by Rabbit 2.2.0 Rubyのほうが高級
Powered by Rabbit 2.2.0 その後の偶然
Powered by Rabbit 2.2.0 誕生石
Powered by Rabbit 2.2.0 6月:Pearl、7月:Ruby
Powered by Rabbit 2.2.0 フォントサイズ
Powered by Rabbit 2.2.0 5pt:Pearl、5.5pt:Ruby
Powered by Rabbit 2.2.0 「Perlの次」としてふさわしい名前
Powered by Rabbit 2.2.0 「Perlの次」
Powered by Rabbit 2.2.0 当初の目標
Powered by Rabbit 2.2.0 Perlと同じくらい使える
Powered by Rabbit 2.2.0 Perlのできることはできる
Powered by Rabbit 2.2.0 正直やりすぎた
Powered by Rabbit 2.2.0 現状Rubyは「Perlの次」ではない
Powered by Rabbit 2.2.0 「Pythonの隣」
Powered by Rabbit 2.2.0 想像力の限界
Powered by Rabbit 2.2.0 未来の予測は困難
Powered by Rabbit 2.2.0 「Ruby After 25 Years」
Powered by Rabbit 2.2.0 Rubyの25年
Powered by Rabbit 2.2.0 Rubyの25年後
Powered by Rabbit 2.2.0 未来の予測は困難
Powered by Rabbit 2.2.0 誰にとっても困難
Powered by Rabbit 2.2.0 誰が予想しても外れる
Powered by Rabbit 2.2.0 当たるも八卦 当たらぬも八卦
Powered by Rabbit 2.2.0 無責任でも許される
Powered by Rabbit 2.2.0 25年後のRuby
Powered by Rabbit 2.2.0 過去25年の変化
Powered by Rabbit 2.2.0 驚くほど小さい
Powered by Rabbit 2.2.0 OSはUNIX系に収斂
Powered by Rabbit 2.2.0 MacOSはUNIX
Powered by Rabbit 2.2.0 Windowsすら(WSL)
Powered by Rabbit 2.2.0 CPUはx86系
Powered by Rabbit 2.2.0 ちょっとARM
Powered by Rabbit 2.2.0 減少する多様性
Powered by Rabbit 2.2.0 Rubyの初期の開発環境
Powered by Rabbit 2.2.0 OS:NEWS-OS(BSD)→SunOS
Powered by Rabbit 2.2.0 CPU:M68030→SPARC→386
Powered by Rabbit 2.2.0 劇的には違わない
Powered by Rabbit 2.2.0 この安定性に救われた
Powered by Rabbit 2.2.0 変化したところ
Powered by Rabbit 2.2.0 性能 容量 価格 台数
Powered by Rabbit 2.2.0 Web モバイル クラウド マルチコア
Powered by Rabbit 2.2.0 データサイエンス AI IoT
Powered by Rabbit 2.2.0 性能・容量
Powered by Rabbit 2.2.0 プログラマー的にはより楽に
Powered by Rabbit 2.2.0 価格・台数
Powered by Rabbit 2.2.0 Web
Powered by Rabbit 2.2.0 システムアーキテクチャ
Powered by Rabbit 2.2.0 サーバークライアント
Powered by Rabbit 2.2.0 スケールしやすい
Powered by Rabbit 2.2.0 水平・垂直
Powered by Rabbit 2.2.0 モバイル
Powered by Rabbit 2.2.0 Beyond Serverside
Powered by Rabbit 2.2.0 モバイルアプリ
Powered by Rabbit 2.2.0 SPA
Powered by Rabbit 2.2.0 JavaScript
Powered by Rabbit 2.2.0 Java・Swift
Powered by Rabbit 2.2.0 クラウド
Powered by Rabbit 2.2.0 サーバーサイドアーキテクチャ
Powered by Rabbit 2.2.0 マルチコア
Powered by Rabbit 2.2.0 分散・並列実行環境
Powered by Rabbit 2.2.0 クラウド
Powered by Rabbit 2.2.0 データサイエンス
Powered by Rabbit 2.2.0 機械学習
Powered by Rabbit 2.2.0 AI
Powered by Rabbit 2.2.0 IoT
Powered by Rabbit 2.2.0 デバイスプログラミング
Powered by Rabbit 2.2.0 変化の傾向
Powered by Rabbit 2.2.0 スケーラブル
Powered by Rabbit 2.2.0 データ規模 コード規模 チーム規模
Powered by Rabbit 2.2.0 分散
Powered by Rabbit 2.2.0 マルチコア マルチノード マルチDC
Powered by Rabbit 2.2.0 これを踏まえて
Powered by Rabbit 2.2.0 未来のRuby
Powered by Rabbit 2.2.0 言語(文法)
Powered by Rabbit 2.2.0 あまり変わらない
Powered by Rabbit 2.2.0 チューリング完全性
Powered by Rabbit 2.2.0 劇的な変化の不必要性
Powered by Rabbit 2.2.0 やれるべきことはできる
Powered by Rabbit 2.2.0 文法的な限界
Powered by Rabbit 2.2.0 全く異なった言語にはならない
Powered by Rabbit 2.2.0 言語の進化の方向
Powered by Rabbit 2.2.0 生産性
Powered by Rabbit 2.2.0 より早く より安く より速く
Powered by Rabbit 2.2.0 より早く
Powered by Rabbit 2.2.0 短い時間で開発
Powered by Rabbit 2.2.0 簡潔な表現
Powered by Rabbit 2.2.0 高い抽象性
Powered by Rabbit 2.2.0 直接的な表現
Powered by Rabbit 2.2.0 イメージに近い表記
Powered by Rabbit 2.2.0 優れた抽象
Powered by Rabbit 2.2.0 しかし、保守性も必要
Powered by Rabbit 2.2.0 現状のRubyの良さ
Powered by Rabbit 2.2.0 簡潔で
Powered by Rabbit 2.2.0 直接的で
Powered by Rabbit 2.2.0 優れたモデル
Powered by Rabbit 2.2.0 より安く
Powered by Rabbit 2.2.0 より短い開発期間
Powered by Rabbit 2.2.0 小さなチーム
Powered by Rabbit 2.2.0 ピザ2枚の法則
Powered by Rabbit 2.2.0 より高速な開発(サイクル)
Powered by Rabbit 2.2.0 アジャイル(俊敏)
Powered by Rabbit 2.2.0 より高い保守性
Powered by Rabbit 2.2.0 保守性支援
Powered by Rabbit 2.2.0 より速く
Powered by Rabbit 2.2.0 実行効率
Powered by Rabbit 2.2.0 未来の要求
Powered by Rabbit 2.2.0 より早く より安く より速く
Powered by Rabbit 2.2.0 高度な分散 高度な抽象 高度な支援
Powered by Rabbit 2.2.0 近未来のRuby
Powered by Rabbit 2.2.0 Ruby3
Powered by Rabbit 2.2.0 「次のRuby」
Powered by Rabbit 2.2.0 高速 分散 解析
Powered by Rabbit 2.2.0 高速(速いRuby) 分散(スケーラブルRuby) 解析(賢いRuby)
Powered by Rabbit 2.2.0 MJIT Guild Steep
Powered by Rabbit 2.2.0 MJIT
Powered by Rabbit 2.2.0 JITコンパイラ
Powered by Rabbit 2.2.0 Javaなどで有効な技法
Powered by Rabbit 2.2.0 Ruby3x3
Powered by Rabbit 2.2.0 Guild
Powered by Rabbit 2.2.0 分散処理の枠組み
Powered by Rabbit 2.2.0 Steep
Powered by Rabbit 2.2.0 静的型推論
Powered by Rabbit 2.2.0 プロファイル型解析
Powered by Rabbit 2.2.0 Ruby3
Powered by Rabbit 2.2.0 2020年目標
Powered by Rabbit 2.2.0 連続的な変化
Powered by Rabbit 2.2.0 巨大なギャップを避ける
Powered by Rabbit 2.2.0 Ruby3はラベル
Powered by Rabbit 2.2.0 「目標を達成しました」
Powered by Rabbit 2.2.0 実装し次第提供
Powered by Rabbit 2.2.0 例:Ruby2.6はMJITつき
Powered by Rabbit 2.2.0 25年後のRuby
Powered by Rabbit 2.2.0 より遠い未来
Powered by Rabbit 2.2.0 開発効率と保守性の向上 大規模分散環境対応 非均質計算環境対応
Powered by Rabbit 2.2.0 開発効率と保守性の向上
Powered by Rabbit 2.2.0 IDE(統合開発環境)
Powered by Rabbit 2.2.0 静的解析ツール
Powered by Rabbit 2.2.0 Rubyならではの難しさ
Powered by Rabbit 2.2.0 新たな技術の開発
Powered by Rabbit 2.2.0 スタイルガイド(Rubocop)
Powered by Rabbit 2.2.0 静的型推論(Success based)
Powered by Rabbit 2.2.0 プロファイル型解析
Powered by Rabbit 2.2.0 インタラクティブプログラミング
Powered by Rabbit 2.2.0 「もしかして:〜」
Powered by Rabbit 2.2.0 ペア・プログラミングAI
Powered by Rabbit 2.2.0 テディベア・プログラミング
Powered by Rabbit 2.2.0 賢いテディベア
Powered by Rabbit 2.2.0 テディベアつきコンパイラ
Powered by Rabbit 2.2.0 大規模分散環境対応
Powered by Rabbit 2.2.0 ムーアの法則
Powered by Rabbit 2.2.0 1コアでの性能向上限界
Powered by Rabbit 2.2.0 マルチコア
Powered by Rabbit 2.2.0 マルチコア活用
Powered by Rabbit 2.2.0 マルチノード活用
Powered by Rabbit 2.2.0 マルチDC活用
Powered by Rabbit 2.2.0 コンカレンシー
Powered by Rabbit 2.2.0 分散処理の抽象化
Powered by Rabbit 2.2.0 スケーラブルなアーキテクチャ
Powered by Rabbit 2.2.0 WWW
Powered by Rabbit 2.2.0 Webは万能ではない
Powered by Rabbit 2.2.0 XaaS
Powered by Rabbit 2.2.0 FaaS
Powered by Rabbit 2.2.0 Function as a Service
Powered by Rabbit 2.2.0 Amazon Lambda
Powered by Rabbit 2.2.0 Guildのその先
Powered by Rabbit 2.2.0 非均質計算環境対応
Powered by Rabbit 2.2.0 BigLITTLE
Powered by Rabbit 2.2.0 GPGPU
Powered by Rabbit 2.2.0 FPGA
Powered by Rabbit 2.2.0 コンカレンシー抽象
Powered by Rabbit 2.2.0 大規模分散へ
Powered by Rabbit 2.2.0 簡単なRubyコードで
Powered by Rabbit 2.2.0 ものすごく大きなことが
Powered by Rabbit 2.2.0 シンプルに
Powered by Rabbit 2.2.0 安全に
Powered by Rabbit 2.2.0 楽しく
Powered by Rabbit 2.2.0 人間は25年ではさほど変わらない
Powered by Rabbit 2.2.0 生物学的には
Powered by Rabbit 2.2.0 文化は若干変化する
Powered by Rabbit 2.2.0 環境への適応
Powered by Rabbit 2.2.0 心理的障壁の克服
Powered by Rabbit 2.2.0 「コンピューターは難しい」
Powered by Rabbit 2.2.0 「コンピューターは楽しい」
Powered by Rabbit 2.2.0 「楽しい」が当たり前に
Powered by Rabbit 2.2.0 賢くなるコンピューター
Powered by Rabbit 2.2.0 コンピューターとのコミュニケーション
Powered by Rabbit 2.2.0 思考の明確化
Powered by Rabbit 2.2.0 思考ツールとしてのRuby
Powered by Rabbit 2.2.0 Rubyの価値の本質
Powered by Rabbit 2.2.0 人間のためのRuby
Powered by Rabbit 2.2.0 わたし(たち)のためのRuby
Powered by Rabbit 2.2.0 人間とともに育つRuby
Powered by Rabbit 2.2.0 愛
Powered by Rabbit 2.2.0 25歳
Powered by Rabbit 2.2.0 いい歳
Powered by Rabbit 2.2.0 大人だがまだ若い
Powered by Rabbit 2.2.0 未来がある
Powered by Rabbit 2.2.0 未来を作る
Powered by Rabbit 2.2.0 私たちが作る未来
Powered by Rabbit 2.2.0 Rubyで作る未来
Powered by Rabbit 2.2.0 プログラミング言語サバイバル
Powered by Rabbit 2.2.0 Only Paranoid Survives
Powered by Rabbit 2.2.0 生き残るために
Powered by Rabbit 2.2.0 「価値」を提供し続ける
Powered by Rabbit 2.2.0 「たのしいRuby」
Powered by Rabbit 2.2.0 「たのしいプログラミング」
Powered by Rabbit 2.2.0 提供 Rubyアソシエーション