Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
RailsConf 2015: What if Shakespeare Wrote Ruby?
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Adam Cuppy (he/him)
April 22, 2015
Programming
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RailsConf 2015: What if Shakespeare Wrote Ruby?
RailsConf 2015 Presentation
Adam Cuppy (he/him)
April 22, 2015
More Decks by Adam Cuppy (he/him)
See All by Adam Cuppy (he/him)
Mentorship in Three Acts
acuppy
0
160
Mechanically Confident
acuppy
1
180
Pluck It - Southeast Ruby 2017
acuppy
1
150
Trust Me - Rocky Mountain Ruby 2017
acuppy
0
130
Brighton Ruby 2017 - Difficult Conversations
acuppy
1
110
GoRuCo 2017 - Difficult Conversations
acuppy
0
150
GORUCO - Cult(ure)
acuppy
0
120
#RailsPacific - Taming Chaotic Specs - RSpec Design Patterns
acuppy
5
1.1k
#RailsPacific - [NOTES] Taming Chaotic Specs - RSpec Design Patterns
acuppy
1
260
Other Decks in Programming
See All in Programming
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.3k
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.5k
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
300
Next.js: The final boss of Web Performance
guaca
0
290
Performance Optimization With LLMs
xleitix
0
160
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
410
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
850
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
300
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
30 Presentation Tips
portentint
PRO
1
430
Building the Perfect Custom Keyboard
takai
2
910
Designing for Timeless Needs
cassininazir
1
530
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Docker and Python
trallard
47
4.2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Mind Mapping
helmedeiros
1
400
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
320
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Music & Morning Musume
bryan
48
7.4k
Transcript
What if Shakespeare Wrote ?
ACTION ROUND
None
Adam Cuppy
None
codingzeal.com
None
None
None
None
None
None
github.com/acuppy twitter.com/adamcuppy
amplify greatness
Software Writers - DHH (Creator of Ruby on Rails)
None
“i” before “e” (except after “c”)
Language is powerful
None
Software Writers - DHH (Creator of Ruby on Rails)
None
None
None
None
None
Poet
None
None
(8) 100 thousands!
1,700 New Word Forms
Shakespeare.inspect
Domain-specific Language
DSL?! NOOOO!!!
Domain-specific Language
Expressive Conventions
None
None
* Meaningful * Demonstrative * Suggestive * revealing
None
None
None
None
None
Iambic Pentameter (metered verse)
baBOOM / baBOOM / baBOOM / baBOOM / baBOOM.
When I / do COUNT / the CLOCK / that
TELLS / the TIME
To BE or NOT to BE, THAT is the QUEStion:
class Character < ActiveRecord::Base belongs_to :play has_many :lines end
class Character < ActiveRecord::Base belongs_to :play has_many :lines end Look
Mom, a convention!
app/ assets/ controllers/ helpers/ models/ views/ mailers/ bin/ config/ lib/
assets/ tasks/ ... app specific non-specific
… and another User.where( happiness: 8..10 )
… and another User.create User.create! user.save user.save!
STAND UP
sampson.when(:bite_thumb) do abraham.ask "Do you bite your thumb at us,
sir?" end sampson.bite_thumb # => Abraham asks, “Do you..."
abraham = Abraham.new sampson = Sampson.new abraham.observe sampson sampson.observe abraham
abraham .when(sampson) { bit_thumb? } .then(abraham) { ask "Do you bite your thumb at us, sir?" } sampson.bite_thumb # => Abraham asks, “Do you..."
Harmonious Simplicity
STAND UP
Create Spectacle
“ Often people focus on the machines. They think, "By
doing this, the machine will run more effectively.” But in fact we need to focus on humans, on how humans care about doing programming… We are the masters. They are the slaves.” - Matz (Creator of Ruby)
None
None
github.com/acuppy twitter.com/adamcuppy
None
None