Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevDay 2015

Nat Pryce
September 18, 2015

DevDay 2015

Metaphors We Code By. Presented at DevDay 2015, Krakow, Poland

Nat Pryce

September 18, 2015
Tweet

More Decks by Nat Pryce

Other Decks in Programming

Transcript

  1. Metaphors We Code By or What we talk about when

    we talk about software Nat Pryce [email protected] @natpryce github.com/npryce
  2. A Layered Architecture Diagram Hardware Device Drivers Operating System Application

    Hardware Device Drivers Operating System Application Or? Which feels right?
  3. Example: MORE IS UP From The Guardian website, 15/05/2014: “OVO

    Energy raises prices 3%” “...soaring values have revived idea of selling part of property portfolio...” “...nation's top 10% owning 44% of household wealth...” “Ministry of justice figures show number of convictions fell by only 69...” “Labour's nosedive in the opinion polls…”
  4. Mapping to Different Abstract Concepts Up Down etc. More Less

    Happy Sad Pure Corrupt Abstract Concrete People Animals Controlling Controlled
  5. Types of Conceptual Metaphor One thing for another, physical for

    abstract Up/Down, Near/Far, Facing towards/away Large/Small Inside/Outside, Boundary, Surface Extent, Covering, … Light/Heavy Bright/Dark ... Ontological Orientation Size Containment Surface Weight Shade ...
  6. Entailment and Coherence Read: “Following the report, shares in XYZ

    Plc took a nosedive and were in freefall by close of trading.” Think: “I should bail out of my investment in XYZ Plc. before the stock hits rock bottom.”
  7. Another Example: ARGUMENT IS WAR From The Guardian website, 17/05/2014:

    “Sussex police under fire for 'criminalising' fracking protests” “Nigel Farage has attempted to defend his controversial remarks...” “Michael Gove ordered to seal truce as Clegg hits back...”
  8. Example: AN ARGUMENT IS A BUILDING “Alice's argument is supported

    by recent research.” “The foundations of Bob’s argument are rather shaky.” “Carol has put together a convincing case.”
  9. ARGUMENT IS WAR AN ARGUMENT IS A BUILDING “To demolish

    my opponent’s argument I should undermine it by attacking its weak foundations.” Coherence Of Argument Metaphors
  10. Figurative / Unconventional Metaphor Metaphors We Live By, Lakoff and

    Johnson, 1980. “...in getting us to try to understand how it could be true, it makes possible a new understanding…”
  11. Idioms: Metaphors that have Kicked the Bucket Figurative metaphors can

    become common phrases in language When we forget the original meaning of the phrase, it loses its explanatory power. The phrase fossilises as an idiom
  12. Vertical Orientation of Layers Hardware Device Drivers Operating System Application

    Hardware Device Drivers Operating System Application Or? Which feels right?
  13. Vertical Orientation ABSTRACT IS UP CONTROL IS UP PEOPLE IS

    UP HARDWARE IS DOWN (STATIC) DEPENDENCIES POINT DOWNWARDS ...
  14. Containment PROGRAMMING LANGUAGES ARE CONTAINERS CONTROL AT THE CENTER VULNERABLE

    IN THE CENTER “The system is in Java” Encapsulation Hexagonal Architecture Privilege ring levels ...
  15. User-facing features Front-end developer Database back-end Externally facing services ...

    Orientation: Facing Towards Something THE SYSTEM FACES THE USER THE SYSTEM FACES OTHER SYSTEMS
  16. Size Big Data “Big Iron” (mainframes) Software design diagrams could

    make better use of BIG IS IMPORTANT BIG IS IMPORTANT BIG IS POWERFUL
  17. Metaphorical Blinkers Image CC-BY-SA 2.0 Pete Markham Metaphors We Live

    By, Lakoff and Johnson, 1980. “In allowing us to focus on one aspect of a concept, a metaphorical concept can keep us from focusing on other aspects of the concept that are inconsistent with the metaphor.”
  18. Entailment: Layering, Balance & Size Database ORM Domain Model UI

    Or? Which feels right? Database ORM Domain Model UI
  19. E.g. Tiers vs Layers Similar in real life Different technically

    Often conflated Image CC-BY-NC-ND 2.0 THEMACGIRL* Mixed Metaphors
  20. In Summary ❖ Metaphor is inescapable ❖ Metaphor can help

    and hinder ❖ Be conscious of how we use metaphor