Skip to content

Instantly share code, notes, and snippets.

@paulghaddad
Last active August 29, 2015 14:13
Show Gist options
  • Save paulghaddad/a52a514734a2746e19eb to your computer and use it in GitHub Desktop.
Save paulghaddad/a52a514734a2746e19eb to your computer and use it in GitHub Desktop.
LevelUp 6: Creates humane APIs, and understands that everything has an API
1. Explain what it means that 'everything has an API'.
"Everything has an API" is the notion that an API is more than the common usage of an interface to produce and consume data between two web services. APIs also exist within programs, gems, libraries, and classes, among other constructs. An API is the interface that defines how any two software programs interact. This could, for example, be between a Ruby Gem and the Ruby Array library. When the Ruby gem calls #sort on an Array object, it is interacting with the API of the Array library. In object-oriented programming, the core concept is that messages are passed between objects; it is the API that defines the boundaries of those objects and how they interact. APIs exist everywhere in programming, from the common usage of a web application API, such as the Google Maps API, to the many Rails APIs to the API of a small program.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment