Slide 1

Slide 1 text

What if Shakespeare Wrote ?

Slide 2

Slide 2 text

ACTION ROUND

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Adam Cuppy

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

github.com/acuppy @adamcuppy

Slide 9

Slide 9 text

Sir Nugget Amazemus @SirNug

Slide 10

Slide 10 text

Joy

Slide 11

Slide 11 text

Poet

Slide 12

Slide 12 text

Language is powerful

Slide 13

Slide 13 text

Software Writers - DHH (Creator of Ruby on Rails)

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

“i” before “e” (except after “c”)

Slide 16

Slide 16 text

Software Writers - DHH (Creator of Ruby on Rails)

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

Shakespeare.inspect

Slide 21

Slide 21 text

(8) 100 thousands!

Slide 22

Slide 22 text

1,700 New Word Forms

Slide 23

Slide 23 text

Domain-specific Language

Slide 24

Slide 24 text

DSL?! NOOOO!!!

Slide 25

Slide 25 text

Expressive Conventions

Slide 26

Slide 26 text

* Meaningful * Demonstrative * Suggestive * revealing

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

ACTION ROUND

Slide 29

Slide 29 text

Metaphor (abstraction)

Slide 30

Slide 30 text

“My naked weapon”

Slide 31

Slide 31 text

“To Be or Not to Be” - Hamlet

Slide 32

Slide 32 text

“Let heaven kiss earth! now let not Nature's hand Keep the wild flood-confin'd! let order die! And let this world no longer be a stage…” - Henry IV; Part I

Slide 33

Slide 33 text

- MacBeth “Come, thick night, And pall thee in the dunnest smoke of Hell…”

Slide 34

Slide 34 text

Leave Clues (conventions)

Slide 35

Slide 35 text

Iambic Pentameter (metered verse)

Slide 36

Slide 36 text

baBOOM / baBOOM / baBOOM / baBOOM / baBOOM.

Slide 37

Slide 37 text

When I / do COUNT / the CLOCK / that TELLS / the TIME

Slide 38

Slide 38 text

’Tis well thou art not fish; if thou hadst, thou hadst been poor John. Draw thy tool! here comes two of the house of the Montagues 10 Beats

Slide 39

Slide 39 text

’Tis well thou art not fish; if thou hadst, thou hadst been poor John. Draw thy tool! here comes two of the house of the Montagues 9 Beats!!

Slide 40

Slide 40 text

To BE or NOT to BE, THAT is the QUEStion:

Slide 41

Slide 41 text

No content

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

No content

Slide 44

Slide 44 text

class Character < ActiveRecord::Base belongs_to :play has_many :lines end Look Mom, a convention!

Slide 45

Slide 45 text

… and another User.where( happiness: 8..10 )

Slide 46

Slide 46 text

class Character def say(message) puts message end end abraham = Character.new abraham.say "Do you bite… sir?” # => "Do you bite...sir?"

Slide 47

Slide 47 text

class Character def say(message) puts message end def say!(message) say "#{message.upcase}!" end end abraham = Character.new abraham.say "Do you bite… sir?” # => "Do you bite...sir?" abraham.say! "Do you bite… sir?" # => "DO YOU BITE...SIR?!"

Slide 48

Slide 48 text

Harmony (composition)

Slide 49

Slide 49 text

ACTION ROUND

Slide 50

Slide 50 text

1. Can’t Hold The Ball 2. Can’t Pass Back 3. Must Pass more than one

Slide 51

Slide 51 text

Harmony (composition)

Slide 52

Slide 52 text

sampson.when(:bite_thumb) do abraham.ask "Do you bite your thumb at us, sir?" abraham.draws_sword end abraham.when(:draws_sword) do benvolio.says "Part, fools! Put up your swords" abraham.retract_sword end sampson.bite_thumb # Hell breaks loose...

Slide 53

Slide 53 text

What if Shakespeare Wrote ?

Slide 54

Slide 54 text

1. Establish conventions 2. Reinforce conventions 3. Layer conventions

Slide 55

Slide 55 text

“ 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)

Slide 56

Slide 56 text

Language is powerful

Slide 57

Slide 57 text

speakerdeck.com/ acuppy

Slide 58

Slide 58 text

github.com/acuppy @adamcuppy

Slide 59

Slide 59 text

No content