TO: Prof. Ellis
FROM: Michael Vanunu
DATE: Oct. 27, 2021
SUBJECT: Expanded Definition of API (Application Programming Interface)
Table of Contents
Introduction
The purpose of this document is to explain the meaning of an API for what it is and what its used for. The term “API” stands for Application programming interface. The way I will be explaining and defining it is by what it does and how it is implemented into our daily lives. An API has many different forms it comes in, but it essentially has the same job and results for when and how it is used. How we will be looking into this definition of API will be through the lens of how they are designed and what it comes with. There is a lot to investigate when it comes into those things which I will be going through in this expanded definition.
Definitions
The first definition I will get into comes from the Oxford English Dictionary, which goes like this, “Computing application programming (or program) interface, a set of routines, protocols, and tools designed to allow the development of applications that can utilize or operate in conjunction with a given item of software, set of data, website, etc.” [1]. What it is saying is that there is a process that must be followed to achieve the goal of the API, which is designed to develop and utilize itself with what its tasked to do. Examples of which it mentions are software, data as well as websites but there are more instances.
The second definition I will get into comes from the Meriam Webster Dictionary. The definition from them goes like this, “a set of rules that allows programmers to develop software for a particular operating system without having to be completely familiar with that operating system” [2]. This definition, from the Meriam Webster Dictionary, is more precise into its definition of it. What this definition is saying is that an API’s means is to make things easier when two set of things need to communicate, it’s like a middleman that makes things easier for both parties in a sense. An example for this one would be, for example, how a GPU driver and a Game Engine need to communicate with each other. For them to communicate they would need to be programmed and configured in very specific and certain ways just so they can work with each other, which would be a lot of extra and unnecessary work. You can imagine how hard this would be if every single thing, or games in this example, has to be programmed in a very specific way just so they can work together but that is where the API comes in and makes our lives easier. The API becomes our middleman which can connect the two without having to go through a ton of extra rigorous work. This is why API’s are very important and crucial in our lives, they are used for a lot of things we use on a daily basis.
Both definitions are idealistically the same. The difference between the two that are given is that the first one, from the Oxford Dictionary, is saying it’s a set of things that need to be done to develop and utilize the use of itself (The API). The second definition I gave, from the Meriam-Webster dictionary is that it’s talking specifically about how programmers can develop things easier because they have an API as the middleman to help with what they are trying to accomplish. Both are similar in a sense that they are saying that an API is used to connect things that need it to achieve what the user sets out to do. Where the definitions differ from these two dictionaries is that one is broader, and one is more specific. A programmer is more likely to use the Meriam-Webster definition whereas the everyday person may use the Oxford definition.
Context
A quote from the e-book API design for C++, “The important underlying concept is that an API is well defined interface that provides a specific service to other pieces of software.” [3, Pg. 1]. This quote is bringing up the fact of how the API is being a specific service for other pieces, that is what its job is, to connect pieces more easily and make things easier for us in day-to-day life.
A quote from another e-book called Enterprise API Management, “Long story short, APIs become products in their own right and thus require the same level of design thinking, ongoing attention, and evolution as other business products.” [4, Pg. 87]. This quote talks about a way an API is used and explained. An API requires as much design thinking, attention and evolution as most products do in order to be successful.
Working Definition
The working definition for the API is that it is used to connect things together through an easier means to save a lot of time and work. The way an API is related to major is that it is a possible type of thing I may have to be a part of coding one day or it is even a part of the programs I use in order to code and run the codes. API is used every day by almost everyone, it is a big part of our life and society.
References [Heading Level 2]
[1] “API,” in Oxford English Dictionary, 3rd ed. Oxford, UK: Oxford Univ. Press, 1975, def. 1. [Online]. Available: https://www.oed.com
[2] “application programming interface,” in Meriam-Webster Dictionary, 11th ed. Springfield, MO: Merriam Webster, 1968, def. 1. [Online]. Available: https://www.merriam-webster.com
[3] R. Martin, API design for C++ 1st ed., Boston: Elsevier/Morgan Kaufmann, 2011.
[4] W. Luis, Enterprise API Management, Birmingham, England: Packt Publishing, 2019.