APIs

APIs were a concept that eluded me for quite some time, I hope I can explain it very clearly! Most of this is from memory and experience and could be technically argued.

What is an API?

API stands for Application Programming Interface. Let's break these terms up:

Application - A system that performs a function. You can define this/black-box it however you like for the most part. This application can be as complex and large as Amazon Web Services, which can perform functions like "launch an EC2 Virtual Machine" or "configure a VPC with these routing tables." This application can also be as tiny as:

def add(x,y):
    return x+y

Programming - I had my own definition in mind, but I was curious to look it up and dictionary.com defines it as "a plan of action to accomplish a specified end" which I actually like even better! You probably know programming as writing code in a text editor, but keep in mind programming comes from a history of when programs were created by physically punching holes in a piece of paper for a machine to interpret as logic. So for our purposes to keep this as general as possible, we will continue with a definition related to the ability for a user to write a "plan" to achieve a specified result.

Interface - If a computer had a bunch of cool functionality, but was just kept inside a box, how would you use any of those functions or tell it what to do? How would you interact with it? That's what interfaces are for! Depending on how you define your application, they can be a keyboard or a software method of interaction. We'll get into these later.

So to sum it up, an API is a way to plan an interaction with a system that performs a function (or many functions).

Last updated

Was this helpful?