Skip to content

Instantly share code, notes, and snippets.

@isomorphisms
Last active August 29, 2015 14:07
Show Gist options
  • Save isomorphisms/e5a23e80cd926118f0a4 to your computer and use it in GitHub Desktop.
Save isomorphisms/e5a23e80cd926118f0a4 to your computer and use it in GitHub Desktop.
Yaron Minsky quotes

What I don’t like about object-oriented languages: there are three key ideas that came out of the OO paradigm—one great, one good-but-flawed, one terrible.

  • The great idea is abstraction: interfaces.
  • The good idea with the wrong default is subtyping. Subtyping is nice—sometimes you want it—but parametric polymorphism is the right default. Think about a function like list.map—you want to have an α list, and then a function that takes α→β. You don’t want to have an object list, and then a function that takes object→object. That’s just wrong.

These mis-features, combined with the verbosity of the languages, make it hard to abstract out simple functions.

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