Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Powered by Rabbit 2.2.0 Ruby after 25 years Rubyアソシエーション 理事長 Heroku @yukihiro_matz Yukihiro "Matz" Matsumoto まつもとゆきひろ
Slide 2
Slide 2 text
Powered by Rabbit 2.2.0 Ruby誕生25周年
Slide 3
Slide 3 text
Powered by Rabbit 2.2.0 「言語の誕生」とは?
Slide 4
Slide 4 text
Powered by Rabbit 2.2.0 プログラミング言語の誕生
Slide 5
Slide 5 text
Powered by Rabbit 2.2.0 ソフトウェアの誕生
Slide 6
Slide 6 text
Powered by Rabbit 2.2.0 公開日(Wikipedia)
Slide 7
Slide 7 text
Powered by Rabbit 2.2.0 Ruby 0.95公開
Slide 8
Slide 8 text
Powered by Rabbit 2.2.0 1995-12-21
Slide 9
Slide 9 text
Powered by Rabbit 2.2.0 しかし、それは「誕生」か?
Slide 10
Slide 10 text
Powered by Rabbit 2.2.0 ソフトウェアの誕生
Slide 11
Slide 11 text
Powered by Rabbit 2.2.0 物理的実体がない
Slide 12
Slide 12 text
Powered by Rabbit 2.2.0 概念上の存在
Slide 13
Slide 13 text
Powered by Rabbit 2.2.0 RubyはいつからRubyか
Slide 14
Slide 14 text
Powered by Rabbit 2.2.0 哲学的
Slide 15
Slide 15 text
Powered by Rabbit 2.2.0 Rubyという概念が誕生した日
Slide 16
Slide 16 text
Powered by Rabbit 2.2.0 Rubyという概念?
Slide 17
Slide 17 text
Powered by Rabbit 2.2.0 Rubyという名前
Slide 18
Slide 18 text
Powered by Rabbit 2.2.0 「名前重要」
Slide 19
Slide 19 text
Powered by Rabbit 2.2.0 名前によって存在が認識される
Slide 20
Slide 20 text
Powered by Rabbit 2.2.0 名前は概念と直結
Slide 21
Slide 21 text
Powered by Rabbit 2.2.0 Rubyと名付けた日
Slide 22
Slide 22 text
Powered by Rabbit 2.2.0 Rubyの誕生日
Slide 23
Slide 23 text
Powered by Rabbit 2.2.0 1993-02-24
Slide 24
Slide 24 text
Powered by Rabbit 2.2.0 Perlに倣って宝石の名前
Slide 25
Slide 25 text
Powered by Rabbit 2.2.0 Ruby or Coral
Slide 26
Slide 26 text
Powered by Rabbit 2.2.0 Rubyのほうがキレイ
Slide 27
Slide 27 text
Powered by Rabbit 2.2.0 Rubyのほうが短い
Slide 28
Slide 28 text
Powered by Rabbit 2.2.0 Rubyのほうが高級
Slide 29
Slide 29 text
Powered by Rabbit 2.2.0 その後の偶然
Slide 30
Slide 30 text
Powered by Rabbit 2.2.0 誕生石
Slide 31
Slide 31 text
Powered by Rabbit 2.2.0 6月:Pearl、7月:Ruby
Slide 32
Slide 32 text
Powered by Rabbit 2.2.0 フォントサイズ
Slide 33
Slide 33 text
Powered by Rabbit 2.2.0 5pt:Pearl、5.5pt:Ruby
Slide 34
Slide 34 text
Powered by Rabbit 2.2.0 「Perlの次」としてふさわしい名前
Slide 35
Slide 35 text
Powered by Rabbit 2.2.0 「Perlの次」
Slide 36
Slide 36 text
Powered by Rabbit 2.2.0 当初の目標
Slide 37
Slide 37 text
Powered by Rabbit 2.2.0 Perlと同じくらい使える
Slide 38
Slide 38 text
Powered by Rabbit 2.2.0 Perlのできることはできる
Slide 39
Slide 39 text
Powered by Rabbit 2.2.0 正直やりすぎた
Slide 40
Slide 40 text
Powered by Rabbit 2.2.0 現状Rubyは「Perlの次」ではない
Slide 41
Slide 41 text
Powered by Rabbit 2.2.0 「Pythonの隣」
Slide 42
Slide 42 text
Powered by Rabbit 2.2.0 想像力の限界
Slide 43
Slide 43 text
Powered by Rabbit 2.2.0 未来の予測は困難
Slide 44
Slide 44 text
Powered by Rabbit 2.2.0 「Ruby After 25 Years」
Slide 45
Slide 45 text
Powered by Rabbit 2.2.0 Rubyの25年
Slide 46
Slide 46 text
Powered by Rabbit 2.2.0 Rubyの25年後
Slide 47
Slide 47 text
Powered by Rabbit 2.2.0 未来の予測は困難
Slide 48
Slide 48 text
Powered by Rabbit 2.2.0 誰にとっても困難
Slide 49
Slide 49 text
Powered by Rabbit 2.2.0 誰が予想しても外れる
Slide 50
Slide 50 text
Powered by Rabbit 2.2.0 当たるも八卦 当たらぬも八卦
Slide 51
Slide 51 text
Powered by Rabbit 2.2.0 無責任でも許される
Slide 52
Slide 52 text
Powered by Rabbit 2.2.0 25年後のRuby
Slide 53
Slide 53 text
Powered by Rabbit 2.2.0 過去25年の変化
Slide 54
Slide 54 text
Powered by Rabbit 2.2.0 驚くほど小さい
Slide 55
Slide 55 text
Powered by Rabbit 2.2.0 OSはUNIX系に収斂
Slide 56
Slide 56 text
Powered by Rabbit 2.2.0 MacOSはUNIX
Slide 57
Slide 57 text
Powered by Rabbit 2.2.0 Windowsすら(WSL)
Slide 58
Slide 58 text
Powered by Rabbit 2.2.0 CPUはx86系
Slide 59
Slide 59 text
Powered by Rabbit 2.2.0 ちょっとARM
Slide 60
Slide 60 text
Powered by Rabbit 2.2.0 減少する多様性
Slide 61
Slide 61 text
Powered by Rabbit 2.2.0 Rubyの初期の開発環境
Slide 62
Slide 62 text
Powered by Rabbit 2.2.0 OS:NEWS-OS(BSD)→SunOS
Slide 63
Slide 63 text
Powered by Rabbit 2.2.0 CPU:M68030→SPARC→386
Slide 64
Slide 64 text
Powered by Rabbit 2.2.0 劇的には違わない
Slide 65
Slide 65 text
Powered by Rabbit 2.2.0 この安定性に救われた
Slide 66
Slide 66 text
Powered by Rabbit 2.2.0 変化したところ
Slide 67
Slide 67 text
Powered by Rabbit 2.2.0 性能 容量 価格 台数
Slide 68
Slide 68 text
Powered by Rabbit 2.2.0 Web モバイル クラウド マルチコア
Slide 69
Slide 69 text
Powered by Rabbit 2.2.0 データサイエンス AI IoT
Slide 70
Slide 70 text
Powered by Rabbit 2.2.0 性能・容量
Slide 71
Slide 71 text
Powered by Rabbit 2.2.0 プログラマー的にはより楽に
Slide 72
Slide 72 text
Powered by Rabbit 2.2.0 価格・台数
Slide 73
Slide 73 text
Powered by Rabbit 2.2.0 Web
Slide 74
Slide 74 text
Powered by Rabbit 2.2.0 システムアーキテクチャ
Slide 75
Slide 75 text
Powered by Rabbit 2.2.0 サーバークライアント
Slide 76
Slide 76 text
Powered by Rabbit 2.2.0 スケールしやすい
Slide 77
Slide 77 text
Powered by Rabbit 2.2.0 水平・垂直
Slide 78
Slide 78 text
Powered by Rabbit 2.2.0 モバイル
Slide 79
Slide 79 text
Powered by Rabbit 2.2.0 Beyond Serverside
Slide 80
Slide 80 text
Powered by Rabbit 2.2.0 モバイルアプリ
Slide 81
Slide 81 text
Powered by Rabbit 2.2.0 SPA
Slide 82
Slide 82 text
Powered by Rabbit 2.2.0 JavaScript
Slide 83
Slide 83 text
Powered by Rabbit 2.2.0 Java・Swift
Slide 84
Slide 84 text
Powered by Rabbit 2.2.0 クラウド
Slide 85
Slide 85 text
Powered by Rabbit 2.2.0 サーバーサイドアーキテクチャ
Slide 86
Slide 86 text
Powered by Rabbit 2.2.0 マルチコア
Slide 87
Slide 87 text
Powered by Rabbit 2.2.0 分散・並列実行環境
Slide 88
Slide 88 text
Powered by Rabbit 2.2.0 クラウド
Slide 89
Slide 89 text
Powered by Rabbit 2.2.0 データサイエンス
Slide 90
Slide 90 text
Powered by Rabbit 2.2.0 機械学習
Slide 91
Slide 91 text
Powered by Rabbit 2.2.0 AI
Slide 92
Slide 92 text
Powered by Rabbit 2.2.0 IoT
Slide 93
Slide 93 text
Powered by Rabbit 2.2.0 デバイスプログラミング
Slide 94
Slide 94 text
Powered by Rabbit 2.2.0 変化の傾向
Slide 95
Slide 95 text
Powered by Rabbit 2.2.0 スケーラブル
Slide 96
Slide 96 text
Powered by Rabbit 2.2.0 データ規模 コード規模 チーム規模
Slide 97
Slide 97 text
Powered by Rabbit 2.2.0 分散
Slide 98
Slide 98 text
Powered by Rabbit 2.2.0 マルチコア マルチノード マルチDC
Slide 99
Slide 99 text
Powered by Rabbit 2.2.0 これを踏まえて
Slide 100
Slide 100 text
Powered by Rabbit 2.2.0 未来のRuby
Slide 101
Slide 101 text
Powered by Rabbit 2.2.0 言語(文法)
Slide 102
Slide 102 text
Powered by Rabbit 2.2.0 あまり変わらない
Slide 103
Slide 103 text
Powered by Rabbit 2.2.0 チューリング完全性
Slide 104
Slide 104 text
Powered by Rabbit 2.2.0 劇的な変化の不必要性
Slide 105
Slide 105 text
Powered by Rabbit 2.2.0 やれるべきことはできる
Slide 106
Slide 106 text
Powered by Rabbit 2.2.0 文法的な限界
Slide 107
Slide 107 text
Powered by Rabbit 2.2.0 全く異なった言語にはならない
Slide 108
Slide 108 text
Powered by Rabbit 2.2.0 言語の進化の方向
Slide 109
Slide 109 text
Powered by Rabbit 2.2.0 生産性
Slide 110
Slide 110 text
Powered by Rabbit 2.2.0 より早く より安く より速く
Slide 111
Slide 111 text
Powered by Rabbit 2.2.0 より早く
Slide 112
Slide 112 text
Powered by Rabbit 2.2.0 短い時間で開発
Slide 113
Slide 113 text
Powered by Rabbit 2.2.0 簡潔な表現
Slide 114
Slide 114 text
Powered by Rabbit 2.2.0 高い抽象性
Slide 115
Slide 115 text
Powered by Rabbit 2.2.0 直接的な表現
Slide 116
Slide 116 text
Powered by Rabbit 2.2.0 イメージに近い表記
Slide 117
Slide 117 text
Powered by Rabbit 2.2.0 優れた抽象
Slide 118
Slide 118 text
Powered by Rabbit 2.2.0 しかし、保守性も必要
Slide 119
Slide 119 text
Powered by Rabbit 2.2.0 現状のRubyの良さ
Slide 120
Slide 120 text
Powered by Rabbit 2.2.0 簡潔で
Slide 121
Slide 121 text
Powered by Rabbit 2.2.0 直接的で
Slide 122
Slide 122 text
Powered by Rabbit 2.2.0 優れたモデル
Slide 123
Slide 123 text
Powered by Rabbit 2.2.0 より安く
Slide 124
Slide 124 text
Powered by Rabbit 2.2.0 より短い開発期間
Slide 125
Slide 125 text
Powered by Rabbit 2.2.0 小さなチーム
Slide 126
Slide 126 text
Powered by Rabbit 2.2.0 ピザ2枚の法則
Slide 127
Slide 127 text
Powered by Rabbit 2.2.0 より高速な開発(サイクル)
Slide 128
Slide 128 text
Powered by Rabbit 2.2.0 アジャイル(俊敏)
Slide 129
Slide 129 text
Powered by Rabbit 2.2.0 より高い保守性
Slide 130
Slide 130 text
Powered by Rabbit 2.2.0 保守性支援
Slide 131
Slide 131 text
Powered by Rabbit 2.2.0 より速く
Slide 132
Slide 132 text
Powered by Rabbit 2.2.0 実行効率
Slide 133
Slide 133 text
Powered by Rabbit 2.2.0 未来の要求
Slide 134
Slide 134 text
Powered by Rabbit 2.2.0 より早く より安く より速く
Slide 135
Slide 135 text
Powered by Rabbit 2.2.0 高度な分散 高度な抽象 高度な支援
Slide 136
Slide 136 text
Powered by Rabbit 2.2.0 近未来のRuby
Slide 137
Slide 137 text
Powered by Rabbit 2.2.0 Ruby3
Slide 138
Slide 138 text
Powered by Rabbit 2.2.0 「次のRuby」
Slide 139
Slide 139 text
Powered by Rabbit 2.2.0 高速 分散 解析
Slide 140
Slide 140 text
Powered by Rabbit 2.2.0 高速(速いRuby) 分散(スケーラブルRuby) 解析(賢いRuby)
Slide 141
Slide 141 text
Powered by Rabbit 2.2.0 MJIT Guild Steep
Slide 142
Slide 142 text
Powered by Rabbit 2.2.0 MJIT
Slide 143
Slide 143 text
Powered by Rabbit 2.2.0 JITコンパイラ
Slide 144
Slide 144 text
Powered by Rabbit 2.2.0 Javaなどで有効な技法
Slide 145
Slide 145 text
Powered by Rabbit 2.2.0 Ruby3x3
Slide 146
Slide 146 text
Powered by Rabbit 2.2.0 Guild
Slide 147
Slide 147 text
Powered by Rabbit 2.2.0 分散処理の枠組み
Slide 148
Slide 148 text
Powered by Rabbit 2.2.0 Steep
Slide 149
Slide 149 text
Powered by Rabbit 2.2.0 静的型推論
Slide 150
Slide 150 text
Powered by Rabbit 2.2.0 プロファイル型解析
Slide 151
Slide 151 text
Powered by Rabbit 2.2.0 Ruby3
Slide 152
Slide 152 text
Powered by Rabbit 2.2.0 2020年目標
Slide 153
Slide 153 text
Powered by Rabbit 2.2.0 連続的な変化
Slide 154
Slide 154 text
Powered by Rabbit 2.2.0 巨大なギャップを避ける
Slide 155
Slide 155 text
Powered by Rabbit 2.2.0 Ruby3はラベル
Slide 156
Slide 156 text
Powered by Rabbit 2.2.0 「目標を達成しました」
Slide 157
Slide 157 text
Powered by Rabbit 2.2.0 実装し次第提供
Slide 158
Slide 158 text
Powered by Rabbit 2.2.0 例:Ruby2.6はMJITつき
Slide 159
Slide 159 text
Powered by Rabbit 2.2.0 25年後のRuby
Slide 160
Slide 160 text
Powered by Rabbit 2.2.0 より遠い未来
Slide 161
Slide 161 text
Powered by Rabbit 2.2.0 開発効率と保守性の向上 大規模分散環境対応 非均質計算環境対応
Slide 162
Slide 162 text
Powered by Rabbit 2.2.0 開発効率と保守性の向上
Slide 163
Slide 163 text
Powered by Rabbit 2.2.0 IDE(統合開発環境)
Slide 164
Slide 164 text
Powered by Rabbit 2.2.0 静的解析ツール
Slide 165
Slide 165 text
Powered by Rabbit 2.2.0 Rubyならではの難しさ
Slide 166
Slide 166 text
Powered by Rabbit 2.2.0 新たな技術の開発
Slide 167
Slide 167 text
Powered by Rabbit 2.2.0 スタイルガイド(Rubocop)
Slide 168
Slide 168 text
Powered by Rabbit 2.2.0 静的型推論(Success based)
Slide 169
Slide 169 text
Powered by Rabbit 2.2.0 プロファイル型解析
Slide 170
Slide 170 text
Powered by Rabbit 2.2.0 インタラクティブプログラミング
Slide 171
Slide 171 text
Powered by Rabbit 2.2.0 「もしかして:〜」
Slide 172
Slide 172 text
Powered by Rabbit 2.2.0 ペア・プログラミングAI
Slide 173
Slide 173 text
Powered by Rabbit 2.2.0 テディベア・プログラミング
Slide 174
Slide 174 text
Powered by Rabbit 2.2.0 賢いテディベア
Slide 175
Slide 175 text
Powered by Rabbit 2.2.0 テディベアつきコンパイラ
Slide 176
Slide 176 text
Powered by Rabbit 2.2.0 大規模分散環境対応
Slide 177
Slide 177 text
Powered by Rabbit 2.2.0 ムーアの法則
Slide 178
Slide 178 text
Powered by Rabbit 2.2.0 1コアでの性能向上限界
Slide 179
Slide 179 text
Powered by Rabbit 2.2.0 マルチコア
Slide 180
Slide 180 text
Powered by Rabbit 2.2.0 マルチコア活用
Slide 181
Slide 181 text
Powered by Rabbit 2.2.0 マルチノード活用
Slide 182
Slide 182 text
Powered by Rabbit 2.2.0 マルチDC活用
Slide 183
Slide 183 text
Powered by Rabbit 2.2.0 コンカレンシー
Slide 184
Slide 184 text
Powered by Rabbit 2.2.0 分散処理の抽象化
Slide 185
Slide 185 text
Powered by Rabbit 2.2.0 スケーラブルなアーキテクチャ
Slide 186
Slide 186 text
Powered by Rabbit 2.2.0 WWW
Slide 187
Slide 187 text
Powered by Rabbit 2.2.0 Webは万能ではない
Slide 188
Slide 188 text
Powered by Rabbit 2.2.0 XaaS
Slide 189
Slide 189 text
Powered by Rabbit 2.2.0 FaaS
Slide 190
Slide 190 text
Powered by Rabbit 2.2.0 Function as a Service
Slide 191
Slide 191 text
Powered by Rabbit 2.2.0 Amazon Lambda
Slide 192
Slide 192 text
Powered by Rabbit 2.2.0 Guildのその先
Slide 193
Slide 193 text
Powered by Rabbit 2.2.0 非均質計算環境対応
Slide 194
Slide 194 text
Powered by Rabbit 2.2.0 BigLITTLE
Slide 195
Slide 195 text
Powered by Rabbit 2.2.0 GPGPU
Slide 196
Slide 196 text
Powered by Rabbit 2.2.0 FPGA
Slide 197
Slide 197 text
Powered by Rabbit 2.2.0 コンカレンシー抽象
Slide 198
Slide 198 text
Powered by Rabbit 2.2.0 大規模分散へ
Slide 199
Slide 199 text
Powered by Rabbit 2.2.0 簡単なRubyコードで
Slide 200
Slide 200 text
Powered by Rabbit 2.2.0 ものすごく大きなことが
Slide 201
Slide 201 text
Powered by Rabbit 2.2.0 シンプルに
Slide 202
Slide 202 text
Powered by Rabbit 2.2.0 安全に
Slide 203
Slide 203 text
Powered by Rabbit 2.2.0 楽しく
Slide 204
Slide 204 text
Powered by Rabbit 2.2.0 人間は25年ではさほど変わらない
Slide 205
Slide 205 text
Powered by Rabbit 2.2.0 生物学的には
Slide 206
Slide 206 text
Powered by Rabbit 2.2.0 文化は若干変化する
Slide 207
Slide 207 text
Powered by Rabbit 2.2.0 環境への適応
Slide 208
Slide 208 text
Powered by Rabbit 2.2.0 心理的障壁の克服
Slide 209
Slide 209 text
Powered by Rabbit 2.2.0 「コンピューターは難しい」
Slide 210
Slide 210 text
Powered by Rabbit 2.2.0 「コンピューターは楽しい」
Slide 211
Slide 211 text
Powered by Rabbit 2.2.0 「楽しい」が当たり前に
Slide 212
Slide 212 text
Powered by Rabbit 2.2.0 賢くなるコンピューター
Slide 213
Slide 213 text
Powered by Rabbit 2.2.0 コンピューターとのコミュニケーション
Slide 214
Slide 214 text
Powered by Rabbit 2.2.0 思考の明確化
Slide 215
Slide 215 text
Powered by Rabbit 2.2.0 思考ツールとしてのRuby
Slide 216
Slide 216 text
Powered by Rabbit 2.2.0 Rubyの価値の本質
Slide 217
Slide 217 text
Powered by Rabbit 2.2.0 人間のためのRuby
Slide 218
Slide 218 text
Powered by Rabbit 2.2.0 わたし(たち)のためのRuby
Slide 219
Slide 219 text
Powered by Rabbit 2.2.0 人間とともに育つRuby
Slide 220
Slide 220 text
Powered by Rabbit 2.2.0 愛
Slide 221
Slide 221 text
Powered by Rabbit 2.2.0 25歳
Slide 222
Slide 222 text
Powered by Rabbit 2.2.0 いい歳
Slide 223
Slide 223 text
Powered by Rabbit 2.2.0 大人だがまだ若い
Slide 224
Slide 224 text
Powered by Rabbit 2.2.0 未来がある
Slide 225
Slide 225 text
Powered by Rabbit 2.2.0 未来を作る
Slide 226
Slide 226 text
Powered by Rabbit 2.2.0 私たちが作る未来
Slide 227
Slide 227 text
Powered by Rabbit 2.2.0 Rubyで作る未来
Slide 228
Slide 228 text
Powered by Rabbit 2.2.0 プログラミング言語サバイバル
Slide 229
Slide 229 text
Powered by Rabbit 2.2.0 Only Paranoid Survives
Slide 230
Slide 230 text
Powered by Rabbit 2.2.0 生き残るために
Slide 231
Slide 231 text
Powered by Rabbit 2.2.0 「価値」を提供し続ける
Slide 232
Slide 232 text
Powered by Rabbit 2.2.0 「たのしいRuby」
Slide 233
Slide 233 text
Powered by Rabbit 2.2.0 「たのしいプログラミング」
Slide 234
Slide 234 text
Powered by Rabbit 2.2.0 提供 Rubyアソシエーション