Skip to content

Instantly share code, notes, and snippets.

@modernserf
Last active April 29, 2018 23:00
Show Gist options
  • Save modernserf/79ad163056d0c6177320f69373bbdf90 to your computer and use it in GitHub Desktop.
Save modernserf/79ad163056d0c6177320f69373bbdf90 to your computer and use it in GitHub Desktop.
class HotDog extends Sandwich

class HotDog extends Sandwich

Is a hot dog a kind of sandwich? "Naming things" is one of the two hard problems in computer science, and the hot dog/sandwich argument is just like those we have about class hierarchies and database schemas. This talk explores these arguments through the lens of "prototype theory", a cognitive-linguistic framework that proposes that the categories we use subconsciously are much different than those we use in programming and other formal systems.

In this talk, we'll learn the psychological basis for practices like duck typing and composition over inheritance. We'll learn about additional conceptual models of organization, like radial categories and family resemblance. Finally, we will learn how by embracing fuzziness and context-sensitivity, we can make more humane and inclusive software.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment