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_through_Reserved_Words.pdf
Search
Yukihiro Matsumoto
July 02, 2019
Programming
0
120
Ruby_through_Reserved_Words.pdf
Yukihiro Matsumoto
July 02, 2019
Tweet
Share
More Decks by Yukihiro Matsumoto
See All by Yukihiro Matsumoto
30 Years of Ruby
matz
0
350
mruby VM
matz
0
63
Contribute to Ruby (RubyKaigi 2022)
matz
0
200
Ruby after 25 years
matz
1
1.1k
What is software made of?
matz
0
610
Streem
matz
8
3.6k
world-of-languages.pdf
matz
8
1.3k
Ruby Everywhere
matz
11
120k
Other Decks in Programming
See All in Programming
未経験でSRE、はじめました! 組織を支える役割と軌跡
curekoshimizu
0
110
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
330
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
640
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
220
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
380
Datadog DBMでなにができる? JDDUG Meetup#7
nealle
0
120
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.3k
AIプログラミング雑キャッチアップ
yuheinakasaka
11
2k
CloudNativePGを布教したい
nnaka2992
0
100
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
280
Introduction to kotlinx.rpc
arawn
0
750
Jakarta EE meets AI
ivargrimstad
0
160
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
KATA
mclloyd
29
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
How STYLIGHT went responsive
nonsquared
98
5.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Transcript
Powered by Rabbit 2.2.1 Ruby through Reserved Words Heroku Ruby
Association Yukihiro "Matz" Matsumoto まつもとゆきひろ @yukihiro_matz
Powered by Rabbit 2.2.1 Ruby has 41 reserved words
Powered by Rabbit 2.2.1 Each reflects (early) design decisions
Powered by Rabbit 2.2.1 The story behinds the words
Powered by Rabbit 2.2.1 begin/end
Powered by Rabbit 2.2.1 Comb Style Indentation
Powered by Rabbit 2.2.1 Inherited from Eiffel
Powered by Rabbit 2.2.1 along with rescue, ensure, retry
Powered by Rabbit 2.2.1 break/next/redo
Powered by Rabbit 2.2.1 not continue
Powered by Rabbit 2.2.1 From Perl (shorter)
Powered by Rabbit 2.2.1 class/def
Powered by Rabbit 2.2.1 From Python
Powered by Rabbit 2.2.1 module
Powered by Rabbit 2.2.1 Lisp (Flavors)
Powered by Rabbit 2.2.1 Mix-in
Powered by Rabbit 2.2.1 if/else/elsif
Powered by Rabbit 2.2.1 elsif
Powered by Rabbit 2.2.1 elseif, elif, elsif
Powered by Rabbit 2.2.1 The shortest pronounceable
Powered by Rabbit 2.2.1 then
Powered by Rabbit 2.2.1 The stop words
Powered by Rabbit 2.2.1 then and class methods
Powered by Rabbit 2.2.1 unless
Powered by Rabbit 2.2.1 From Perl
Powered by Rabbit 2.2.1 No elsif or elsunless
Powered by Rabbit 2.2.1 while
Powered by Rabbit 2.2.1 Simple loop
Powered by Rabbit 2.2.1 for/in
Powered by Rabbit 2.2.1 From Python?
Powered by Rabbit 2.2.1 until
Powered by Rabbit 2.2.1 From Perl
Powered by Rabbit 2.2.1 true/false/nil
Powered by Rabbit 2.2.1 Truthy and Falsy
Powered by Rabbit 2.2.1 Three value model
Powered by Rabbit 2.2.1 Inspired by Lisp
Powered by Rabbit 2.2.1 and/or/not
Powered by Rabbit 2.2.1 From Perl
Powered by Rabbit 2.2.1 Only for precedence
Powered by Rabbit 2.2.1 do/yield
Powered by Rabbit 2.2.1 The block
Powered by Rabbit 2.2.1 From CLU (1970s, MIT)
Powered by Rabbit 2.2.1 The biggest invention of Ruby
Powered by Rabbit 2.2.1 rescue/ensure/retry
Powered by Rabbit 2.2.1 Exception handling
Powered by Rabbit 2.2.1 Inspired by Eiffel
Powered by Rabbit 2.2.1 Icon (1970s, U of Arizona)
Powered by Rabbit 2.2.1 Success/Failure model
Powered by Rabbit 2.2.1 return
Powered by Rabbit 2.2.1 From C
Powered by Rabbit 2.2.1 Multiple values (Tuple)
Powered by Rabbit 2.2.1 self/super
Powered by Rabbit 2.2.1 Smalltalk
Powered by Rabbit 2.2.1 alias/undef
Powered by Rabbit 2.2.1 From Sather (1980s, UCB)
Powered by Rabbit 2.2.1 BEGIN/END
Powered by Rabbit 2.2.1 From Awk
Powered by Rabbit 2.2.1 Not recommendation anymore
Powered by Rabbit 2.2.1 __FILE__/__LINE__
Powered by Rabbit 2.2.1 From C (cpp)
Powered by Rabbit 2.2.1 __ENCODING__
Powered by Rabbit 2.2.1 From Ruby1.9 (encoding)
Powered by Rabbit 2.2.1 UCS vs CSI
Powered by Rabbit 2.2.1 Unicode
Powered by Rabbit 2.2.1 BDFL
Powered by Rabbit 2.2.1 Benevolent Dictator For Life
Powered by Rabbit 2.2.1 How to make decisions
Powered by Rabbit 2.2.1 Scope Background Motivation
Powered by Rabbit 2.2.1 Committee
Powered by Rabbit 2.2.1 Voting
Powered by Rabbit 2.2.1 A ship would climb a
mountain with many captains
Powered by Rabbit 2.2.1 too many cooks spoil the
broth