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
RailsConf 2015: What if Shakespeare Wrote Ruby?
Search
Adam Cuppy (he/him)
April 22, 2015
Programming
230
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
150
Mechanically Confident
acuppy
1
170
Pluck It - Southeast Ruby 2017
acuppy
1
150
Trust Me - Rocky Mountain Ruby 2017
acuppy
0
110
Brighton Ruby 2017 - Difficult Conversations
acuppy
1
97
GoRuCo 2017 - Difficult Conversations
acuppy
0
140
GORUCO - Cult(ure)
acuppy
0
110
#RailsPacific - Taming Chaotic Specs - RSpec Design Patterns
acuppy
5
1.1k
#RailsPacific - [NOTES] Taming Chaotic Specs - RSpec Design Patterns
acuppy
1
240
Other Decks in Programming
See All in Programming
OS アップデート対応の取り組み方がもっと共有されてほしい
andpad
0
110
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.9k
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
160
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
230
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
330
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
340
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
190
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.6k
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
280
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
190
Performance Engineering for Everyone
elenatanasoiu
0
250
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
160
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
360
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
340
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Designing for Timeless Needs
cassininazir
1
270
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
170
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
320
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
880
How STYLIGHT went responsive
nonsquared
100
6.2k
A Modern Web Designer's Workflow
chriscoyier
698
190k
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